router与route 区别

92 阅读1分钟

众所周知, vue中都会用到vue-router 是vue开发不可缺少的一部分吗, 疑问来了,routerroute有什么区别呢?接下来让我们一个一个分析。

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
})

以上就是个人的看法,同时也借鉴了一些互联网大佬们的文章