Vue中的路由导航

这篇具有很好参考价值的文章主要介绍了Vue中的路由导航。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

声明式路由导航

router官网-起步
声明式路由导航其实就是使用官方给的<router-link>路由导航标签直接进行路由跳转

<body>
<div id="app">
        <!--
            <router-link>路由导航标签,用于找到path属性中url对应的组件,
            通过传入 `to` 属性指定链接.<router-link> 默认会被渲染成一个 `<a>` 标签
         -->
        <router-link to="/login">注册</router-link>
        <router-link to="/reg">登陆</router-link>
        <!-- 路由出口
            <router-view>路由出口标签,相当于路由导航标签的一个中转站,通过点击不同的路由导航标签
            来实时的展示该导航标签所对应的组件,路由匹配到的组件将渲染在这里
        -->
        <router-view></router-view>
</div>
<script>
    // 1. 定义 (路由) 组件。
    var login={
        template:'<div><h1>登陆页面</h1></div>'
    }
    var register={
        template: '<div><h1>注册页面</h1></div>'
    }
    //2.定义路由:创建全局路由对象
    var router=new VueRouter({
        //路由的配置
        /**
         * 路由模式:
         * 1.hash模式:默认的, http://localhost:8080/#/路由路径
         * 2.history模式:http://localhost:8080/路由路径
         *
         * 使用mode属性切换路由模式
         */
        mode: 'history',
        //路由列表,用于存放单个路由对象的数组
        routes:[
            /**
             * 单个路由对象用于描述路径url与组件的对应关系,有两个属性:path、component
             * path: 以/开头,路由路径
             * component: 路由路径对应的组件
             */
            {path:'/login',component:login},
            {path:'/reg',component:register},

        ]
    })
    new Vue({
        el: '#app',
        //3.在Vue对象中注册路由对象
        router
    })
</script>
</body>

编程式路由导航

router官网-编程式路由导航
除了使用 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现文章来源地址https://www.toymoban.com/news/detail-422092.html

<body>
<div id="app">
        <h1>欢迎使用路由导航</h1>
        <h2>编程式导航</h2>
        <p>
            <!--开启路由导航-->
            <button type="button" v-on:click="doQuery('/login',10,'tom')">登陆按钮</button>
            <button type="button" v-on:click="doQuery('/reg',20,'jerry')">注册按钮</button>
            <button type="button" v-on:click="doParams('user',30,'jack')">用户按钮</button>
            <button type="button" v-on:click="doParams('emp',40,'lishi')">员工按钮</button>
        </p>
        <router-view></router-view>
</div>

<script>
    var login = {template: '<div><h1>登陆组件</h1><p>{{$route.query}}</p></div>'}
    var register = {template: '<div><h1>注册组件</h1><p>{{$route.query}}</p></div>'}
    var user = {template: '<div><h1>用户组件</h1><p>{{$route.params}}</p></div>'}
    var emp = {template: '<div><h1>员工组件</h1>{{$route.params}}</div>'}
    var router = new VueRouter({
        mode: 'history',
        routes: [
            //注册单个路由,有两个重要的属性:path(路由对应的路径)、component(路径对应的组件)
            //下面每个大括号包裹的都是一个单个路由,在配置路由时,可以为每一个路由起一个唯一的名字(名字任意只要不重复即可),此路由被称为命名路由
            {path: '/login', name:'login', component: login},
            {path: '/reg', name:'reg', component: register},
            {path:'/user', name:'user', component:user},
            {path:'/emp', name:'emp', component:emp}

        ]
    })
    new Vue({
        el: '#app',
        //在Vue对象中注册路由对象
        router,
        methods:{
            doQuery(path,id,name){
                /**
                 * 编程式导航传参
                 * 在push或replace方法中传入的不是路由路径,而是一个对象,该对象有两个重要的属性用于接收方法中的参数
                 * 1.query传参:path属性对应的是路径,query属性对应的是参数对象
                 *
                 * 2.params传参:name对应路由名称(要求路由必须为命名路由),params参数对象.
                 *              特点:1.无需使用动态路由匹配
                 *                   2.参数在传递的过程中隐藏,不会出现在地址栏中
                 */
                this.$router.push({
                    path: path,
                    query:{
                        id:id,
                        name:name
                    }
                })
            },
            doParams(routeName,id,name){
                this.$router.push({
                    name: routeName,//路由名称,如果将name换成path,则params里面的数据获取不到
                    params:{
                        id:id,
                        name:name
                    }
                })
            }

        }
    })
</script>
</body>

到了这里,关于Vue中的路由导航的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue-router + element-plus实现面包屑导航栏和路由标签栏

    首先,先解释一下什么是面包屑导航栏和路由标签栏。 如下图所示,面包屑导航栏就是展示当前所处路由信息和父辈路由信息的导航栏,它的作用是提示用户当前页面所在位置;路由标签栏就类似于浏览器的标签栏,每个标签对应一个路由页面,点击该标签可以进入该路由页

    2023年04月23日
    浏览(52)
  • Vue中的路由导航

    声明式路由导航 router官网-起步 声明式路由导航其实就是使用官方给的router-link路由导航标签直接进行路由跳转 编程式路由导航 router官网-编程式路由导航 除了使用 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现

    2023年04月23日
    浏览(47)
  • Vue前端 更具router.js 中的meta的roles实现路由卫士,实现权限判断。

    参考了之篇文章 1、我在登陆时获取到登录用户的角色名roles,并存入sessionStorage中,具体是在login页面实现,还是在menu页面实现都可以。在menu页面实现,可以显得登陆快一些。 2、编写router.js,注意,一个用户可能有多个角色。 这里有个bug 我们的roles存在sessionStorage中,关闭

    2024年02月13日
    浏览(46)
  • 前端笔记(11) Vue3 Router 编程式导航 router.push router.replace

    在上篇博客Vue3 Router 监听路由参数变化中,我们使用 router-link 创建 a 标签来定义导航链接: 除了 router-link ,我们还可以借助 router 的实例方法,通过编写代码来实现: router.push 方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,会回到之前的 URL。

    2024年02月07日
    浏览(57)
  • 完整的 vue-router 导航解析流程

    在Vue.js中,vue-router是一个官方提供的路由管理器,它能够帮助我们实现页面之间的无缝切换和导航。 本文将深入探讨vue-router的导航解析流程,并通过示例代码演示如何使用vue-router实现完整的导航过程。 首先,让我们来了解一下vue-router的基本概念。在vue-router中,我们可以通

    2024年02月19日
    浏览(40)
  • vue、vuex、vue-router初学导航配合elementui及vscode快捷键

    目录 一、vue资源 1.vue知识库汇总 2.vuejs组件 3.Vue.js 组件编码规范 目标 #目录 #基于模块开发 #怎么做? #Vue组件命名 #为什么? #如何做? #组件表达式简单化 #为什么? #怎么做? #组件props原子化 #为什么? #怎么做? #验证组件的props #为什么? #怎么做? #将this赋值给component变

    2024年02月15日
    浏览(50)
  • vue Router路由

    是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括: 嵌套路由映射 动态路由选择 模块化、基于组件的路由配置 路由参数、查询、通配符 展示由 Vue.js 的过渡系统提供的过渡效果 细致的导航控制 自动激活 CSS 类的链接 HTML5 his

    2024年02月07日
    浏览(36)
  • 路由vue-router

    路由(英文:router)就是 对应关系 SPA 指的是一个 web 网站只有 唯一的一个 HTML 页面 ,所有组件的展示与切换都在这唯一的一个页面内完成。 此时,不同组件之间的切换需要通过前端路由来实现。 结论: 在 SPA 项目中,不同功能之间的切换 ,要依赖于 前端路由 来完成!

    2024年02月07日
    浏览(43)
  • vue路由及参数router

    1.1 如果还没安装node.js, 则先安装node.js ,安装完成后,查看node版本 1.2 安装淘宝镜像, 安装完成后查看npm版本:npm -v 1.3 安装webpack 1.4 安装vue全局脚手架,vue-cli2.x使用 npm install -g vue-cli , vue-cli3.x使用 npm install -g @vue/cli 安装, 查看vue版本: vue -V 1.5 准备工作做好了,开始正

    2024年01月23日
    浏览(41)
  • Vue全家桶(四):Vue Router 路由

    1.1 Vue Router的理解 Vue的一个插件库,专门用来实现SPA应用 1.2 对SPA应用的理解 单页 Web 应用 (single page web application,SPA 整个应用只有一个完整的页面 点击页面中的导航链接不会刷新页面,只会做页面的局部更新 数据需要通过 ajax 请求获取 1.3 路由的理解 什么是路由? 一个路

    2024年02月09日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包