vue-router 路由嵌套显示不出来_(八)vue-router子路由、参数

69985e4ac191bd5f90c96df25e41a2dd.png

路由参数的传递和获取

注:js操作router使用this.$router,读取参数使用this.$route,当中相差一个r,需要注意

params路由参和query查询参两者区别是什么?

(1)params相当于post,浏览器地址栏看不到请求参数,但是在配置路由时一定要配置参数

路由配置 :{path:'/XXX/ : 参数名1/ : 参数名1 ', name='XXX ', component='XXX'}

传递参数:<router-link :to=

“{name:'XXX', params:{参数名1:XXX,参数名2:XXX}}”>

获取参数:this.$route.params.参数名

(2)query相当于get,浏览器地址栏可以看到请求参数

路由配置 :{path:'/XXX ', name='XXX ', component='XXX'} 不用配置参数名

传递参数:<router-link :to=“{name或者path:'XXX', query:{参数名1:XXX,参数名2:XXX}}”>

获取参数:this.$route.query.参数名

为了方便记忆,建议router跳转都使用name

使用上一个例子改写两个组件的路由配置及跳转

组件1 使用params传参

//路由配置,要配置参数  /:参数名

组件2使用query传参

//路由配置,不用配置参数

运行结果

59b2fffd87e3828d74bacc7990ba035b.png

点击跳转组件1页面,注意看地址栏

b62638ed00a56469878a81dd58cf93a3.png

点击跳转组件2页面,注意看地址栏

0084a04951c8f7fde9e6379b1e0a4561.png

注:路由路径一致时,参数不同不会发生跳转,使用 :key=“$route.fullPath”,就可以识别整个路径不同进行跳转

路由嵌套

子路由配置中使用children[{ },{ }]配置子路由,并在上级页面中router-view留坑位

首先写两个组件,并配置路由,子路由中path不需要 / ,不然路由跳转时找不到

var 

然后再vue中修改

new Vue({
    el:'#app',
    router,
    template:`
        <div>
            <div>我是主页</div>
            <h3><router-link :to="{name:'temp1'}">我是组件1</router-link></h3>                                                          
            <h3><router-link :to="{name:'temp1.temp2'}">我是组件2</router-link></h3>
            <router-view></router-view>
         </div>
            `
        })

运行显示:

09eea782a59ffd15cc3da71414192442.png

点击组件1,注意地址栏 /temp1

fa6500d662efb37c4ba31b32193f587d.png

点击组件2,应该跳转子路由 /temp1/temp2,发觉组件2页面并未跳转成功,为什么???

d322a5453b006b99052203895f486021.png

这时候我又想了想了一下,配置子路由,必须在页面留坑位,我为temp1配置了子路由,是不是我应该在Temp1页面中也留下坑位,虽然我在主页中留了坑位,但是对子路由页面显示不起作用,所以我在Temp1加了router-view留坑位,进行尝试

var Temp1 = {           
    template:`
        <div>
            我是组件1页面
            //给子路由留坑位
           <router-view></router-view> 
        </div>       
            `
}  

运行显示: /temp1/temp2显示成功,所以要记住子路由是嵌套必须在上级留下坑位,不然无法显示

cc42028db77ef9cedbebee1d7e81c460.png

vue的简单入门之旅结束啦,我也是一边学习一边测试,一边记录自己的想法,希望对大家学习有用。

接下来我准备学习vue-cli3脚手架,开发前端应用,小伙伴们可以关注我一起学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值