返回顶部
首页 > 资讯 > 前端开发 > JavaScript >使用Vue-router二级路由跳转另一条路由下的子级
  • 300
分享到

使用Vue-router二级路由跳转另一条路由下的子级

Vue-router二级路由Vue-router路由跳转跳转路由的子级 2022-11-13 18:11:04 300人浏览 泡泡鱼
摘要

目录Vue-router二级路由跳转另一条路由下的子级结果实验vue二级路由跳转一级路由激活处理本人是这么处理的Vue-router二级路由跳转另一条路由下的子级 实验项目中,在一个

Vue-router二级路由跳转另一条路由下的子级

实验项目中,在一个 /list/user 列表中,当点击某一条时,需要跳转到 /detail/userId/user 详情下,展示详情信息。

router.js

const routes = [
    {
        path: '/ue/matter/list',
        name: 'list',
        component: List,
        children: [
            { path: 'user', name: 'list-user', component: ListUser },
        ],
        props: true
    },
    {
        path: '/ue/matter/detail/:userId',
        name: 'detail',
        component: Detail,
        children: [
            { path: 'user', name: 'detail-user', component: DetailUser },
        ],
        props: true
    }
]

ListUser 组件中,采用编程式导航的方式跳转,写法如下:

this.$router.push({name:detail-user, path:`/ue/matter/detail/user/${userid}/user}`);

或者如下

this.$router.push({name: detail-user});

结果

组件内容确实更换了,但浏览器上的地址栏错了

实验

看官方文档说,path+params地方式会被忽略,所以将router.push中用到的键path、params、name、query分别组合做了一个页面,来测试哪种会不可以。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <title>router-linkto</title>
    <link rel="stylesheet" href="">
</head>

<body>
    <div id="app">
    	<router-link :to="{ path: 'home' }">path单独 </router-link>
    	&nbsp;&nbsp;
		<router-link :to="{ path: 'foo', name: foo}">path + name </router-link>
		&nbsp;&nbsp;
		<router-link :to="{ path: 'bar', query: {plan:'private'} }">path + query /bar?plan="private"</router-link>
		&nbsp;&nbsp;
    	<router-link :to="{ name: 'user', params: {userId:123} }">name + params /user/123</router-link>
    	&nbsp;&nbsp;
        <router-link :to="{ name: 'many', query: {plan:'private'} }">name + query </router-link>
        &nbsp;&nbsp;
        <router-link :to="{ params: { userId: 123 }, query: {plan: 'private'} }">params + query </router-link>
        &nbsp;&nbsp;
        <br/>
        <br/>
        <router-view></router-view>
    </div>
</body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script>

const Home = { 
	template: '<div>Home path单独 <span v-on:click="change()">点击跳转到path+name</span> </div>',
	methods: {
		change: function() {
    		this.$router.push({name: "foo", path: "/foo"})
    	}
	}

}
const Foo = { template: "<div>Foo path+name</div>"}
const Bar = { template: "<div>Bar path+query</div>"}
const User = { template: "<div>User {{$route.params.userId}}</div>" }
const Many = { template: "<div>Many name+params</div>" }
const Too = { template: "<div>Too params + query</div>" }

const router = new VueRouter({
    routes: [
    	{
        	path: "/home",
        	component: Home
        },
        {
        	name: "foo",
        	path: "/foo",
        	component: Foo
        },
        {
        	path: "/bar",
        	component: Bar
        },
        { 
        	name: "user", 
        	path: "/user/:userId",
        	component: User
        },
        {
        	path: "/many",
        	name: "many",
        	component: Many
        },
        {
        	path: "/too/:userId",
        	component: Too
        }
        
    ]
})
new Vue({
    el: '#app',
    router
})
</script>

</html>

结论:

结果是:除了path+params之外,params+query也不可以,因为没有告知路径信息

那对于上面涉及二级跳转,那写name + path的方式,我理解的是path需要拼接,所以给了name就会找不到路径。我之后的修改是,只传给push一个字符串路径。

this.$router.push(`/ue/matter/detail/user/${userid}/user`)

vue二级路由跳转一级路由激活处理

有时候有的页面是一个页面的子页面,这时候点击打开跳转到二级页面,这个时候

一级导航的路由可能激活状态不对应

本人是这么处理的

<el-menu :default-active="$route.path.match('(/[a-z]+[^/]){1}')[0]"

这样就可以匹配目标页面的路由匹配头部就聚焦 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用Vue-router二级路由跳转另一条路由下的子级

本文链接: https://lsjlt.com/news/170108.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用Vue-router二级路由跳转另一条路由下的子级
    目录Vue-router二级路由跳转另一条路由下的子级结果实验vue二级路由跳转一级路由激活处理本人是这么处理的Vue-router二级路由跳转另一条路由下的子级 实验项目中,在一个...
    99+
    2022-11-13
    Vue-router二级路由 Vue-router路由跳转 跳转路由的子级
  • vue如何实现父级路由跳转子路由
    今天小编给大家分享一下vue如何实现父级路由跳转子路由的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。子路由配置首先,我们需要...
    99+
    2023-07-05
  • 实例讲解vue怎么实现父级路由跳转子路由
    在Vue中,我们经常需要进行路由跳转操作。Vue的路由功能非常强大,支持嵌套路由和动态路由等功能。本文将讲述如何父级路由跳转子路由。子路由配置首先,我们需要在父级路由中配置子路由。在Vue中,可以使用Vue Router插件来实现路由管理和...
    99+
    2023-05-14
  • vue如何使用router-link实现路由跳转
    这篇文章主要介绍vue如何使用router-link实现路由跳转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!router-link 【实现跳转最简单的方法】<router-link to='...
    99+
    2023-06-18
  • vue router2.0中如何使用二级路由
    本篇文章给大家分享的是有关vue router2.0中如何使用二级路由,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、app.vue中<...
    99+
    2024-04-02
  • vue中怎么让二级子路由默认显示
    这篇文章主要介绍“vue中怎么让二级子路由默认显示”,在日常操作中,相信很多人在vue中怎么让二级子路由默认显示问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中怎么让二级子路由默认显示”的疑惑有所帮助!...
    99+
    2023-07-06
  • vue 路由视图 router-view嵌套跳转的实现
    目录1、修改app.vue页面2、创建登录页面(/views/login/login.vue)2.1、在router/index.js中添加登录页面路由3、创建主页面(/compon...
    99+
    2024-04-02
  • angularjs中ui-router如何实现路由的二级嵌套
    这篇文章主要为大家展示了“angularjs中ui-router如何实现路由的二级嵌套”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angularjs中ui-r...
    99+
    2024-04-02
  • Vue3使用vue-router如何实现路由跳转与参数获取
    目录vue-router实现路由跳转与参数获取路由跳转和传参路由跳转三种方法的总结一、第一种二、第二种三、第三种vue-router实现路由跳转与参数获取 路由跳转和传参 impor...
    99+
    2024-04-02
  • vue路由跳转router-link清除历史记录的方法
    这篇文章主要介绍了vue路由跳转router-link清除历史记录的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue路由跳转router-link清除历史记录的方法文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-29
  • vue3中如何使用router路由实现跳转传参
    这篇文章主要介绍了vue3中如何使用router路由实现跳转传参的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中如何使用router路由实现跳转传参文章都会有所收获,下面我们一起来看看吧。一、路由跳转首...
    99+
    2023-07-05
  • vue3中怎么使用router路由实现跳转传参
    本文小编为大家详细介绍“vue3中怎么使用router路由实现跳转传参”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中怎么使用router路由实现跳转传参”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一...
    99+
    2023-07-06
  • Vue3中怎么使用vue-router实现路由跳转与参数获取
    今天小编给大家分享一下Vue3中怎么使用vue-router实现路由跳转与参数获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-29
  • vue-router是如何实现路由跳转和页面渲染的
    Vue-router是Vue.js官方的路由管理工具,支持基于Vue.js构建单页应用(SPA),它提供的路由功能让我们能够通过管理URL中的路径,来控制页面的跳转和展示。本文将着重探讨 Vue-router 的底层实现原理,分析 Vue-...
    99+
    2023-05-14
  • vue项目history模式下部署子路由跳转失败的解决
    目录history模式下子路由跳转失败使用history跳转路由不能跳转history模式下子路由跳转失败 问题描述:只有部分路由跳转正常刷新也不会白屏,部分路由出现跳转正常,刷新却...
    99+
    2024-04-02
  • 使用vue-router钩子函数怎么实现路由守卫
    这篇文章给大家介绍使用vue-router钩子函数怎么实现路由守卫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。全局钩子函数beforeEach:beforeEach一共接收三个参数,分别是to、from、next;t...
    99+
    2023-06-14
  • 如何解决vue router动态路由下让每个子路由都是独立组件的问题
    这篇文章主要介绍如何解决vue router动态路由下让每个子路由都是独立组件的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue-router 之动态路由vue-router...
    99+
    2024-04-02
  • Vue3 中路由Vue Router 的使用实例详解
    目录前言:一、什么是 Vue Router ?二、路由的使用1、路由的安装2、路由的模式3、创建路由模块4、声明路由链接和占位符三、路由的重定向和别名四、嵌套路由五、声明式和编程式导...
    99+
    2023-02-18
    Vue3 路由Vue Router使用 Vue Router使用
  • vue跳转同一路由报错的问题及解决
    目录vue跳转同一路由报错编程式路由跳转多次点击报错问题问题分析解决方法总结vue跳转同一路由报错 vue中,如果跳转同一个页面路由,虽不会影响功能,但是会报错 原因:路由的pus...
    99+
    2023-05-14
    vue跳转同一路由报错 vue跳转路由报错 vue跳转路由
  • vue跳转同一个路由参数不同的问题
    目录vue跳转同一个路由参数不同问题第一种方法第二种方法vue跳转同一路由报错原因解决方案vue跳转同一个路由参数不同 问题 vue项目同一个路由跳转(路由不变,后面参数变化),第一...
    99+
    2022-11-13
    vue跳转 vue路由 vue跳转路由参数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作