Vue Router 路由重定向-笔记

Vue Router 路由重定向

语法

// vue@2.6.0, vue-router@3.0.7
new VueRouter({
   routes: [
       {name: 'test', path: '/test', component: test}
   ]
})

DEMO

HTML 代码

// ...
<router-link to="/login">登陆</router-link>
<router-link to="/register">注册</router-link>
<router-link to="/redirect-login">重定向1</router-link>
<router-link to="/redirect-register">重定向2</router-link>
// ...

JS 代码

// 定义组件
let login = {
    template: '<h1>登陆组件</h1>'
}
let register = {
    template: '<h1>注册组件</h1>'
}

// 定义路由
const router = new VueRouter({
    /* 
        路由匹配规则数组,每个元素对象必须包含两个属性(path, <组件>)
        0.name 路由名(可选)
        1.path 监听的路由链接地址
        2.component 组件,属性值为组件对象
     */
    routes: [
        {
            path: '/login',
            component: login
        },
        {
            name: 'register2', // 定义路由名,与下方重定向对象方式的name属性对应
            path: '/register',
            component: register
        },
        // 重定向
        {
            path: '/redirect-login',
            redirect: '/login'
        },
        {
            path: '/redirect-register',
            // 重定向的目标也可以是一个命名的路由:name 指向路由规则中指定了name属性的对象
            // PS: 官方文档中此处 name 属性为 'foo',却未说明 foo 的指向,笔者学习时翻阅许久算是一个坑
            redirect: {name: 'register2'}
        },
    ],
    // 设置连接激活的样式名替换默认类名(css代码略)
    linkActiveClass: 'myactive'
})

let vm = new Vue({
    el: '#app',
    data: {},
    methods: {},
    router: router
})

官方文档

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about...
    裘马轻狂大帅阅读 755评论 0 5
  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 1,657评论 0 6
  • 本文转载于前端工匠。如有侵权联系本人立刻删除 一、首先带着问题 要学习vue-ro...
    qiaoguoxing阅读 474评论 0 1
  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 2,973评论 1 4
  • Vue八个生命周期 beforeCreate【创建前】created【创建后】 beforeMount【载入前】 ...
    艾萨克菊花阅读 1,357评论 0 12