众所周知, vue中都会用到vue-router 是vue开发不可缺少的一部分吗, 疑问来了,router与route有什么区别呢?接下来让我们一个一个分析。
router
- router: 是全局的
router实例。通过vue根实例中注入router实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如history对象),任何页面也都可以调用其push(),replace(),go()等方法。
route
route: 是当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的path,name,params,query等属性。
路由跳转分为编程式和声明式。
声明式
简单来说,就是使用 router-link 组件来导航,通过传入 to 属性指定链接,router-link 默认会被渲染成一个a标签。
当需要在一个页面中嵌套子路由,并且页面不跳转的时候,这种方式不要太好用,只需要将子页面渲染在 router-view 里面就可以了。
编程式
采用这种方式就需要导入 VueRouter 并调用了。
vue-router 的使用步骤有以下方式:
1. 定义两个路由跳转的页.vue 组件:home.vue;
2. 导入 vue, vue-router,并定义路由,每个路由包含一个 component 属性,这个属性映射一个组件 router.js
3. 代码部分 对应的是
import Vue from 'vue'
import Router from 'vue-router'
import Home from './home.vue'
Vue.use(Router);
4还可以创建一个 router 实例,并传递 routes 配置 router.js
const routes = [
{ path: '/user', component: User }
]
const router = new Router({
routes
})
以上就是个人的看法,同时也借鉴了一些互联网大佬们的文章