关于vue的<router-view>

对于它跳转的基准不太清除,网上也没有很好的解释。

根据实验暂得出:如果当前父页面的.vue的路径和子页面的.vue路径已经写在路由里了,那么

1.路由里未redirect。页面显示父页面,不显示子页面。但如果父页面后续有路由跳转,就会在<router-view>里显示子页面。(可把<router-view>看作<div>)

2.路由里已经redirect到子页面了。页面显示父页面,<router-view>里显示子页面。父页面后续有路由跳转,会在<router-view>里显示子页面。

如果父页面未写在路由里(如App.vue)那使用<router-view>就会跳转到你设置的默认路由,即设置了path: '/',的路径。

 

代码实例如下。

solve.vue里使用<router-view>

<template>
    <div>
        <div>
             <router-link to="/solve/contain1">a</router-link>路由跳转
        </div>父页面
        <router-view></router-view>子页面
    </div>
</template>

情况1  router.js 

{
  path: '/solve',父页面
  component: Solve,
  name:'solve',
  children: [{
    path: '/solve/contain1',子页面
    component: Solvecon1,
    name:'contain1',
  }
运行后<div>里显示父页面,<router-view>里不显示子页面,但<router-link to>跳转的界面会显示在<router-view>里

情况2  router.js 

{
  path: '/solve',
  component: Solve,
  name:'solve',
  redirect: '/solve/contain1'
  children: [{
    path: '/solve/contain1',
    component: Solvecon1,
    name:'contain1',
  }

运行后<div>里显示父页面,<router-view>里显示子页面,<router-link to>跳转的界面会显示在<router-view>里

这样,通过<router-view>就可以实现类似a标签的target效果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值