美文网首页
vue-router

vue-router

作者: 浅夏_cd06 | 来源:发表于2018-01-31 22:00 被阅读0次

安装vue-router

npm install vue-router --save

引入

import VueRouter from "vue-router"
Vue.use(VueRouter)

实例化router

var router = new VueRouter({
    // ...
})

将实例化的 router 添加到 vue 的实例中

new Vue({
  el:"#app",
  router:router, //将实例化的 router 添加到 vue 的实例中
  components:{ App },
  template: '<App/>'
})

在实例化router中设置配置选项

import Apple from './components/Apple' //引入Apple组件
import Banana from './component/Banana' //引入Banana组件
var router = new VueRouter({
  mode:"history",//切换到history模式,默认是hash模式:路由后面会加上一个’#‘符号
  routes:[
    {
      path:'/apple/:color', //跳转路径   /:color->路由参数
      component:Apple
     },
    {
      path:'/banana',
      component: Banana 
    }
  ]
})

设置 vue-router 的显示位置,通过内置组件:<router-view></router-view>
页面跳转通过:<router-link :to={path:'apple'}>跳转到苹果页面</router-link>

获取参数

通过 this.$route.params 来进行获取.
同样也可以通过页面来进行访问: {{ $router.params.color }}

路由嵌套

通过children来添加配置参数

routes:[
  {
    path:"/dad",
    component: Dad,
    children:[
      {
        path:"son1", //注意不能带斜杠
        component:Son1
      },
      {
        path:"son2",
        component:Son2
      },
    ]
  }
]

最后注意需要在组件里加上<router-view></router-view>标签

router-link组件

1.可以直接跳转:

<router-link to="/apple">跳转</router-link>

2.可以动态跳转:

<router-link :to="{path:'apple'}">跳转</router-link>

3.具名的路由:通过tag属性将标签转换为li标签

<router-link :to="{path:'apple'}" tag="li"></router-link>

命名路由

1.设置的时候可以直接给路由加上name属性,然后在<router-link :to="{name:'applePage',params:{color:'red'}}">跳转</router-link>里直接跳转(params是路由参数)

 routes:[
    {
      path:'/apple/:color', //跳转路径   /:color->路由参数
      component:Apple,
      name: 'applePage'
     },
    {
      path:'/banana',
      component: Banana 
    }
  ]

2.路由重定向
例:将"/"地址重定向到“/apple”

routes:[
    {
      path:"/",
      redirect:"/apple"
    },
    {
      path:'/apple/:color', //跳转路径   /:color->路由参数
      component:Apple,
      name: 'applePage'
     },
    {
      path:'/banana',
      component: Banana ,
      alias:'bananas' //别名
    }
  ]

linkActiveClass

通过配置这个选项来改变点击的样式

var router = new VueRouter({
  mode:"history",
  linkActiveClass:"active", //通过类名”active“来改变点击样式
  routes:[
    {
      // ...
    }
  ]
})

相关文章

网友评论

      本文标题:vue-router

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