Vue2 -- query和params传参、为什么要绑定key

Vue中使用query传参和params传参的区别

  1. params取值需要用this.$route.params来取值,query需要用this.$route.query
  2. params只能通过name来引入路由,query可以用path和name引入
  3. params参数不会在url中显示,会更加安全,query参数会在url中显示
  4. params传值页面刷新后会清空,所以必须配置路由时要先设置params接收的参数,query因为在url中记录着,刷新后参数值还在
  5. params是路由的一部分,所以配置路由时如果路由设置了params传参而跳转的时候没有传params会导致跳转失败,而query是路由拼接的参数,没给参数也没关系


使用v-for时为什么要绑定key,key值为什么要设定唯一值

  • key值是什么
    key值是给v-for遍历的数据节点添加唯一的标识

  • key值为什么要设定唯一值
    由于key是设置给节点的唯一标识,如果传的值有重复,则会发生有不同的节点设定了同一标识

  • 使用v-for时为什么要绑定key
    因为vue是动态改变页面结构的,使用v-for更新已经渲染的列表时,采取的是惰性渲染,即’DOM结构就地复用策略’,当列表数据修改的时候,根据key值准确判断哪一条数据进行了修改,进行了什么修改,判断是否做创建和删除的操作再去渲染.
    如果不添加key值,数据失去了唯一标识,数据变动时,需要把所有的节点进行判断是否有变动,再去做相应的处理,然后重新渲染数据.
    简而言之:绑定key值为了更好地辨识各个组件,更高效地更新虚拟DOM,提高代码效率

  • 为什么不建议用索引值index设置key
    因为索引值不一定是数据的唯一值,如果数据的添加和删除的位置是从最后开始,索引值不会改变,但是如果数据变化是在数组开头或中间,变化位置后的所有数据索引值也会变化,则绑定的key值也随着变化


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值