Vue的面试题

1.v-if和v-show的区别

        我是这样理解v-if和v-show的,v-if的本质其实就是动态的创建或者删除元素节点.一般不用于频繁的切换,要么是显示,要么是隐藏的情况我都会使用v-if.因为v-if是有惰性的,如果初始值为false的情况下,那么这些元素就直接不创建了,这样就可以大大的节省了初识渲染开销.

        v-show的本质其实就是控制css样式display:none,一般元素用于频繁的切换显示与隐藏,用v-show.因为v-if在频繁切换的时候会大量创建和删除,消耗性能.

2.key值的作用

        key值的主要作用是给元素添加一个唯一的标识符,用于提高vue的渲染性能.当data发生变化时,vue就会使用diff算法来比对新旧虚拟DOM.如果key值相同,才会考虑复用元素.如果key值不同,则会强制性更新元素.一般通过给元素设置key值的id,来保证vue在更新数据的时候,可以最大限度的复用相同的key值元素.

3.key值为什么不能是下标

        当数组长度改变时,其他元素的下标会受到影响.而如果把key值作为下标,由于其他的元素下标变化,vue就会认为你的key值也发生了改变,从而会强制更新你的元素,影响性能.

4.计算属性和侦听器的区别

        1. 功能不同:  计算属性解决模板语法冗余, 侦听器监听data中某一个数据的变化

        2. 计算属性有缓存 , 侦听器没有缓存

        3. 计算属性不支持异步操作,侦听器支持异步操作

        4 计算属性可以新增一个属性, 而侦听器一定要是data中的属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值