# 挂载

实例化完成后,我们将其挂载到Vue实例的options

const app = new Vue({
  router
}).$mount('#app')
成功
1
2
3

调用代码很简单,就是把初始化完毕后的VueRouter的实例router当成参数传入,new Vue的时候,会将router挂载到vm.$options上。

有些同学可能很好奇,为什么其他插件,只需要Vue.use就行,Vue Router还需要多这么一步呢?

其实这么做的原因有很多种

  1. 唯一性:将VueRouter的实例挂载到根组件中,保证整个Vue生命周期内中都只有一个VueRouter的实例
  2. 复用性:整个生命周期内共享一个VueRouter实例,即使在多个组件中使用VueRouter,也是可复用的
  3. 后续使用中可以用$options.router来判断是否在根Vue中,方便后续逻辑处理

当然,能够实现上述功能的方法有很多种,Vue Router只是选择了当前这种实现方案