vue路由

路由安装

npm install vue-router -S

基本路由

1.创建路由器

import Vue from 'vue'

import VueRouter from 'vue-router'

import About from './../pages/About.vue'

import Home from './../pages/Home.vue'

Vue.use(VueRouter)

export default new VueRouter({

  routes: [

    {

      path: '/about',

      component: About

    },

    {

      path: '/home',

      component: Home

    },

    {

      path: '/',

      redirect: '/about'

    }

  ]

})

2.注册路由器

import Vue from 'vue'

import App from './App'

import router from './router'

 

Vue.config.productionTip = false

/* eslint-disable no-new */

new Vue({

  el: '#app',

  components: { App },

  template: '<App/>',

  router

})

3.使用路由器

<div>

<h1>vue-router</h1>

<div class="left">

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

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

</div>

<div class="right">

   <router-view></router-view>

</div>

</div>

嵌套路由

1.配置路由器

import Vue from 'vue'

import VueRouter from 'vue-router'

import About from './../pages/About.vue'

import Home from './../pages/Home.vue'

import Message from './../pages/Message.vue'

import News from './../pages/News.vue'

Vue.use(VueRouter)

export default new VueRouter({

  routes: [

    {

      path: '/about',

      component: About

    },

    {

      path: '/home',

      component: Home,

      children: [

        {

          path: 'message',

          component: Message

        },

        {

          path: 'news',

          component: News

        },

        {

          path: '',

          component: News

        }

      ]

    },

    {

      path: '/',

      redirect: '/about'

    }

  ]

})

2.使用路由

<div>

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

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

</div>

<div>

<router-view></router-view>

</div>

缓存路由组件

有时候当我们通过路由切换视图的时候,希望之前加载的页面数据缓存下来,可以用keep-alive

<keep-alive>

  <router-view></router-view>

</keep-alive>

路由传值

router-link传值

<router-link :to="`/home/news?id=${item.id}`">news</router-link>

路由接受传参

this.$route.query.id

编程式路由导航

通过js实现路由跳转

$router是一个栈结构,push相当于新压入一个路径,replace相当于替换当前路径,back相当于回退也就是弹栈

pushShow(id) {

this.$router.push(`/home/message?id=${id}`)

},

replaceShow(id) {

this.$router.replace(`/home/message?id=${id}`)

},

backShow(id) {

this.$router.back()

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值