2020-11-06 vue面试题集合

2020-11-06 vue面试题集合

1、v-if和v-for哪个优先级更高

1).v-for优先于v-if被解析
2).做个测试,把它们放在一起,输出的渲染函数app.$option.render中可以看出先执行循环在执行条件
3).实践中也不应该把它们放在一起,因为哪怕我们只渲染列表中的一小部分元素,也得在每次渲染的时候遍历整个列表
4).通常有两种情况下导致我们这样做:

	- 为了过滤列表中的项目(比如`v-for="user in users" v-if="user.isActive"`)。此时定义一个计算属性(比如`activeUsers`),让其返回过滤后的列表即可
	- 为了避免渲染本应该被隐藏的列表(比如`v-for="user in users" v-if="shouldShowUsers"`)。此时把`v-if`移动至容器元素上(比如`ul`、`ol`)即可

5).文档中明确指出永远不要把v-if和v-for同时用在同一个元素上,显然是一个重要的注意事项
6).看过源码里面关于优先级的部分,src\compiler\codegen\index.js,先是处理static静态节点,再是once,接着是vfor和vif

持续更新…

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值