# 挂载
实例化完成后,我们将其挂载到Vue
实例的options
上
const app = new Vue({ router }).$mount('#app')
成功
1
2
3
2
3
调用代码很简单,就是把初始化完毕后的VueRouter
的实例router
当成参数传入,new Vue
的时候,会将router
挂载到vm.$options
上。
有些同学可能很好奇,为什么其他插件,只需要Vue.use
就行,Vue Router
还需要多这么一步呢?
其实这么做的原因有很多种
- 唯一性:将
VueRouter
的实例挂载到根组件
中,保证整个Vue生命周期内中都只有一个VueRouter
的实例 - 复用性:整个生命周期内共享一个
VueRouter
实例,即使在多个组件中使用VueRouter
,也是可复用的 - 后续使用中可以用
$options.router
来判断是否在根Vue
中,方便后续逻辑处理
当然,能够实现上述功能的方法有很多种,Vue Router
只是选择了当前这种实现方案