美文网首页
Vue Router

Vue Router

作者: 苦瓜_6 | 来源:发表于2018-09-04 07:47 被阅读0次

安装引入

  • 安装
npm install --save vue-router
  • 引用
    在入口文件main.js 中引入(不一定是入口文件中引入,哪里需要用到就在哪里引入)
import router from 'vue-router'
Vue.use(router)
  • 配置路由文件,并在vue实例中注入
var rt = new router({
  routes: [{
    path: '/', //指定要跳转的路径
    component: HelloWorld //指定要跳转的组件
  }]
})
new Vue({
  el: '#app',
  router: rt,
  components: {
    App
  },
  template: '<App/>'
})
  • 确定视图加载的位置
<router-view></router-view>

路由的跳转

在 src 目录下新建一个 router 文件夹,然后新建一个 router.js 文件,把路由相关的信息都放在这个文件里。

<router-link to="/"></router-link>

在 router.js 里配置好路由

export default new router({
  routes: [
    {
    path: '/hello', //指定要跳转的路径
    component: HelloWorld //指定要跳转的组件
  },
  {
    path: '/test',
    component: test
  }
]
})
    <router-link to = "/hello">点我显示 HelloWord 组件的内容</router-link>
    <router-link to = "test"> 点我显示 test 组件的内容 </router-link> 

路由参数的传递

1.必须在路由内加入路由的name
2.必须在path后加/: +传递的参数

  routes: [
    {
    name: 'helloworld', // 在路由内加入路由的name
    path: '/hello/:hellomsg', //指定要跳转的路径,在path后加/: +传递的参数
    component: HelloWorld //指定要跳转的组件
  },
  {
    name: 'test',
    path: '/test/:msg',
    component: test
  }
]
  1. 传递参数和接收参数看下边代码
用 name 和 params 传参

{name: 'xx',params: { }}

< router-link :to = "{name: test ,params:{msg: 'xxxxxxx'}}" >
 test < /router-link>

读取参数$route.params.xxxxxxx
这种形式的传参url是这种形式: xx/topic/xxx

  1. 监听路由参数的变化

提醒一下,当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。
复用组件时,想对路由参数的变化作出响应的话,你可以简单地 watch (监测变化) $route 对象。

  watch: {
    $route(to, from) {
      this.getArticle(); // 对路由变化作出响应...
    }
  }

参考:

相关文章

网友评论

      本文标题:Vue Router

      本文链接:https://www.haomeiwen.com/subject/ubzpwftx.html