问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vue-router怎么给子路由传参

发布网友 发布时间:2022-04-22 03:44

我来回答

1个回答

热心网友 时间:2022-04-22 18:35

路由传参数。在很多时候我们需要路由上面传递参数,比如新闻列表页,我们需要传递新闻ID,给新闻详细页。
1.新闻列表页模板
<template id="news">
<div>
<h2>新闻列表</h2>
<ul>
<li>
<router-link to="/news/001">新闻001</router-link>
</li>
<li>
<router-link to="/news/002">新闻002</router-link>
</li>
</ul>
</div>
</template>1234567891011121312345678910111213

我们访问/news/001,跳转到新闻详细页,展示001的这条新闻。
2.新闻详细页组件准备
<template id="NewsDetail">
<div>
新闻详细页面
<span>{{$route.params.id}}</span>
</div>
</template>123456123456

$route.params.id获取路由上的参数
在js里定义路由组件:
//新闻详细页组件
const NewsDetail = { template: '#NewsDetail' };1212

3.定义路由,增加一个路由
{ path: '/news/:id', component: NewsDetail },11

访问/news/001或者/news/002就展示新闻详细页

4.全部代码如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
<div id="box">
<p>
<router-link to="/home">home</router-link>
<router-link to="/news">news</router-link>
</p>
<router-view></router-view>
</div>

<!-- 模板抽离出来 -->
<template id="home">
<!-- 注意:组件只能有一个根元素,所以我们包装到这个div中 -->
<div>
<h2>首页</h2>
<router-link to="/home/login">登录</router-link>
<router-link to="/home/reg">注册</router-link>
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
</div>
</template>

<template id="news">
<div>
<h2>新闻列表</h2>
<ul>
<li>
<router-link to="/news/001">新闻001</router-link>
</li>
<li>
<router-link to="/news/002">新闻002</router-link>
</li>
</ul>
</div>
</template>

<template id="login">
<div>登录界面</div>
</template>
<template id="reg">
<div>注册界面</div>
</template>

<template id="NewsDetail">
<div>
新闻详细页面
<span>{{$route.params.id}}</span>
</div>
</template>

<script type="text/javascript">
// 1. 定义(路由)组件。
const Home = { template: '#home' };
const News = { template: '#news' };

const Login = { template: '#login' };
const Reg = { template: '#reg' };

//新闻详细页组件
const NewsDetail = { template: '#NewsDetail' };

// 2. 定义路由
const routes = [
{ path: '/', redirect: '/home' },
{
path: '/home',
component: Home,
children:[
{ path: '/home/login', component: Login},
{ path: '/home/reg', component: Reg}
]
},
{ path: '/news', component: News,},
{ path: '/news/:id', component: NewsDetail },

]

// 3. 创建 router 实例,然后传 `routes` 配置
const router = new VueRouter({
routes // (缩写)相当于 routes: routes
})

// 4. 创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
const app = new Vue({
router
}).$mount('#box')

// 现在,应用已经启动了!
</script>
</body>
</html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? vue-router的问题,比如一个页面有多个列表,点击其... vue-router应用于组件内时的矛盾怎么解决 vue里面的router-view标签是什么意思 刚跟老婆办完那事,可是老婆还想要我该怎么办啊? 如何利用vue组件 动态生成router-link 人体有哪八大功能? 和她做完40分钟了,我还想和她做,怎么办 关于vue-router跳转问题? 女人做完爱还想要是怎么回事一草根杂志艺术小人完毕 功能和作用的区别是什么? 昨晚刚做完,现在女朋友还想做,这是怎么了? vue-router怎么动态配置,比如根据用户权限不同显... 作用、功能、意义三个词的区别 刚弄完,还想要,怎么办 作用和功能都什么意思 刚做完还想要正常吗 vue router 怎么配置 男友帕帕完很想睡觉,我很精神还想要,怎么办要放... 功能和性能的区别? 我21岁,为什么每次和男朋友要完我还想再要呢?我... 天然大理石有裂缝属于正常现象吗 如何辨别真假椴树蜂蜜 正宗椴树蜜是啥样子的 天然大理石炸裂为什么? vue-router有两个命名路由,其中一个路由下还有嵌... 如何辨别好的椴树蜜 vue-router 可以根据 URL 来获取 routers 定义的 n... 飘窗上安起的飘窗大理石天然的不到三个月就开裂了... 怎么辨别椴树蜂蜜好坏? 椴树蜜和普通蜂蜜的区别 阳台窗户安装天然大理石一个月后有裂缝是属于正常... 剪映电脑版没有蒙版、色度抠图、关键帧吗? 怎么签别椴树蜂蜜真假 天然大理石安装第二天就开裂正常吗? 椴树蜜是什么样了? 请问椴树蜜到底是乳白色还是跟一般的蜜一样 剪映蒙版反转为什么点不动? 什么是椴树蜜啊? “予”是什么意思? 全结晶蜜如何鉴别?现在市场上出现一种全结晶椴树...