vue暴露的全局方法_Vue全家桶之vuerouter手写实现

本文旨在深入理解Vue全家桶中的Vue-router,通过手动实现一个简化版的vue-router,回顾Vue插件实现、render函数和数据响应式方法,并详细解析路由的创建、URL监控、组件动态加载以及性能优化等关键步骤,旨在清晰Vue-router的工作原理。
摘要由CSDN通过智能技术生成

经过自己平时的学习,也因为自己现在也是从事的Vue的开发,所以平时对Vue相对来说还是较为熟悉,但是平时自己一直有一个很大的痛点,那就是对Vue的底层实现原理等等这些不够了解,所以很多时候定位错误都可能需要花费很多时间,所以深度学习并且掌握一门框架的核心实现是非常有必要的。

主题:学习Vue的全家桶vue-router的实现原理和步骤

目标:清晰思想,了解步骤,动手实现简化版

预备知识:

  • Vue的插件实现写法

  • render函数的使用

  • 数据响应式方法:Vue.util.defineReactive / new Vue ( { data: {} } )

一、预备知识回顾

1.Vue的插件实现写法:Vue的插件一般是用来为Vue来添加全局功能的,可以用来添加全局方法或者属性、添加全局资源(指令/过滤器等等)、通过全局混入来添加一些组件的选项以及可以添加Vue的实例方法。

  • 插件的声明:Vue的插件需要实现暴露一个install方法,方法的第一个参数是Vue构造器,第二个参数是一个可选的选项对象

MyPlugin.install = function (Vue, options) {
        // 1.添加全局方法或者属性    Vue.globalMethod = function () {}       // 2.添加全局资源    Vue.directive('my-directive', {})     // 3.混入注入组件选项    Vue.mixin({
            created: function (){}    })    // 4.添加实例方法    Vue.prototype.$myMethod = function(methodOptions){}}
  • 插件的使用

插件的使用可以有2种形式1.第一种那就是在实现的插件代码里面加上代码:if (typeof window !== 'undefined' && window.Vue) {
        // 使用插件    window.Vue.use(MyPlugin)}2.第二种就是可以直接在main.js中直接使用Vue.use(MyPlugin)

2.render函数的使用:Vue推荐在日常使用中应该使用模板来创建HTML,但是有的时候需要JS的能力,那么这时候就可以使用渲染函数来完成

  • 基础

render: function (createElement) {
        // createE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值