vue-router

1.路由的跳转

路由的跳转就两种形式:

● 声明式导航(router-link:务必要有to属性)

● 编程式导航(push || replace )

编程式导航更好用:因为可以书写自己的业务逻辑

 

面试题:v-show与v-if区别?

v-show:通过样式display控制

v-if:通过元素上树与下树进行操作

面试题:开发项目的时候,优化手段有哪些?

1:v-show | v-if

2:按需加载

 

2.路由传参

params参数:路由需要占位,属于URL当中一部分

query参数:路由不需要占位,写法类似于ajax当中query参数

路由传递参数相关面试题

● 1:路由传递参数(对象写法)path是否可以结合params参数一起使用?

  ○ 不可以:name和params参数一起使用

● 2:如何指定params参数可传可不传? 

  ○ 在路由路径占位那边加 ?

  ○ { path:'/search/:keyWord?', component:Search, name:'search' }

● 3:params参数可以传递也可以不传递,但是如果传递是空串,如何解决?

  ○ 使用undefined 解决,如果指定name与params配置, 但params中数据是一个"", 无法跳转,路径会出问题

  ○ this.$router.push({name:'search',params: {keyWord:""||undefined}})

● 5: 路由组件能不能传递props数据?

  ○ 可以

3.路由跳转

$router:进行编程式导航的路由跳转

this.$router.push|this.$router.replace

$route:可以获取路由的信息|参数

this.$route.path

this.$route.params|query

this.$route.meta

 

编程式导航路由跳转到当前路由(参数不变), 多次执行会抛出NavigationDuplicated的警告错误?

注意:编程式导航(push|replace)才会有这种情况的异常,声明式导航是没有这种问题,因为声明式导航内部已经解决这种问题。

这种异常,对于程序没有任何影响的。

为什么会出现这种现象:

由于vue-router最新版本3.5.2,引入了promise,当传递参数多次且重复,会抛出异常,因此出现上面现象,

第一种解决方案:是给push函数,传入相应的成功的回调与失败的回调

第一种解决方案可以暂时解决当前问题,但是以后再用push|replace还是会出现类似现象,因此我们需要从‘根’治病;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_ugust__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值