vue-router 路由嵌套显示不出来_vue: router-link 动态路由

动态路由:

根据路由的不同请求不同的数据。

$router 获取vue-router实例$route 获取url的详细信息

:id表示在user后任意参数都可以访问到对应组件,但是必须有" / "。

如: localhost:8080/user/1

// router.js文件

打印this.$route

<

v2-5f21cb2a236c2ef886b6242bd7b15a86_b.jpg

id存在$route.parms.id中

然后我们把它渲染在template中

v2-b3ecff96f9de1d08ac386af4ebeebccd_b.gif

header文件: 直接在url中修改id会变,但是在切换组件中不会变。

<

v2-77f247fdeaea831719a5b76e788b990b_b.gif

这是因为id在重新创建组件的时候才会初始化,user1和user2都是来自user组件,所以在他们之间切换不会初始化。

解决: 使用watch监听发生变化的路由

<

v2-eb33cd5643f489e0bc9c92d2c6019611_b.jpg

to: 到user/2; from: 从user/1来。

v2-2040231cbb24df2466f968c4da1f8867_b.gif

嵌套路由

子路由都是以/user为基准,写好子路由,同时需要在user.vue中写router-view标签来展示。

import 

v2-03e518bfc9348b4d0f9fb38bc7b6068c_b.gif
子路由

现在把userStart中的li换成router-link,让我们可以直接点击切换

<!-- userStart文件 -->

v2-f3107978e93ed72e95e965ab924577d4_b.gif

在用户详情中再嵌套一个编辑按钮

<!-- userDetail.vue文件 -->

v2-f88dfbef13fbf0fd0ae2328364fd3fce_b.gif

命名路由

由于router-link标签中的to属性不好写,我们使用命名路由

在to属性中使用对象,有两个参数name和params,name对应router.js中子路由的nameparams字段对应当前的id值。

// router.js文件

userDetailvue文件

<

在以前的$router-push中也可以用命名路由

v2-1c7a4c1b9f00fb581ed755c866a50a25_b.jpg

v2-617f14ae62391f41cfcc26dcdb1e4c81_b.gif

传参:

可以在to的url后加?

v2-82e8b3771e6cb59346246ab0930c4402_b.jpg

可以使用query对象

v2-6fcbce4229b051f8eaab4bd9cdfaa960_b.jpg

接收传参:

$route,query.a

v2-31437393cee614141c9acc3680ca298b_b.jpg

听说有些公司不喜欢这种带?=#的传参?

根据需要选择

需求: 使用组件命名,header组件只在Home下显示,在User下隐藏。

把header组件进行命名,匹配到命名名字在显示。

如果是/user,会匹配到默认的router-view进行显示

v2-dbbaaef86fd77f04f03003c1e5b8068c_b.jpg

v2-2a8ce9a396722967e17735887f07de6d_b.gif
命名的header组件

重定向

如果/任意的东西(不在路由范围的东西),会什么都加载不出来。

v2-e3f1b7c1db819367fbdc929489cf9e5e_b.jpg

在路由字段里重新写一个对象,path使用通配符*,表示如果上面的路径都没有走同,则走这条路;还有一个redirect字段,表示重定向到什么地方,可以是首页,可以是error页,可以是任意页。

// router.js文件

v2-2fcc255ff105ef6e9cc333ffd8d49911_b.gif
重定向
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值