Vue 自定义hash Router

// Vue.js 的插件应该暴露一个 install 方法。这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象
let _Vue = null
export default class VueRouter {
   
    // 静态方法, 注意参数是 Vue构造器
    static install(Vue){
   
        // 1. 判断是否已经被注册过(单例模式)
        if(VueRouter.install.installed){
   
            return 
        }
        VueRouter.install.installed = true

        // 2. 将 Vue 构造器 放到全局环境,以后给其他功能用
        _Vue = Vue

        // 3. 将 Vue 实例化时 传入的 router 对象注入到每一个 vue 实例上
       _Vue.mixin({
   
            beforeCreate () {
   
                if(this.$options.router){
   
                    _Vue.prototype.$router = this.$options.router
                    this.$options.router.init(Vue)
                }
            }
       })

    }

    constructor(options){
   
        this.options = options
        this.routeMap = {
   }
        // data 保存当前应用路由, 必须是响应式的,才能让视图自动响应渲染
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值