vue-router

2018-08-25  本文已影响0人  黑夜的眸

main.js

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
Vue.config.productionTip = false
Vue.use(VueRouter)

const Routers = [
    {
        path:'/index',
        component:(resolve)=>require(['./views/index.vue'], resolve),   
    },
    {
        path:'/about',
        component:(resolve)=>require(['./views/about.vue'], resolve),   
    },
    {
        path:'/users/:id',
        component:(resolve)=>require(['./views/users.vue'], resolve),   
    },
    {
        path:'*',
        redirect:'/index',
    },
]

const RouterConfig = {
    mode:'history',//history or hash
    routes:Routers
}

const router = new VueRouter(RouterConfig)

new Vue({
    router: router,
    render: h => h(App),
}).$mount('#app')

App.vue

<template>
  <div id="app">
    <router-link to="/index" tag="li">Go to index</router-link>
    <router-link to="/about" tag="li">Go to about</router-link>
    <router-view></router-view>
    </div>
</template>

<script>
export default {
  name: 'app',
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
methods:{
            toLink(){
                this.$router.push('/users/12')
                //this.$router.replace('/users/12')
                //this.$router.go(-1)
            }
        }

高级用法

router.beforeEach((to,from,next)=>{
    window.document.title = to.meta.title
    next()
})

next()不填参数默认继续跳到预跳页面(to页面)
next('/index')填参数可以修改跳转页面
next(False)不跳转

router.afterEach((to,from,next)=>{
    window.scrollTo(0,0)
})
上一篇 下一篇

猜你喜欢

热点阅读