F2e踩坑之路大前端时代让前端飞

Vue--功能相近的指令如何区分?

2017-12-21  本文已影响19人  魏永_Owen_Wei
图片来自网络

使用Vue已经很长时间了,发现了有些指令的功能有重合的部分。同一件事情两个指令都能完成,那该选择谁呢?他们各自的适用场景有哪些呢?今天和大家一起来梳理一下。

1.v-if / v-show

重合功能: 两个指令都可以控制元素的显示。

区别: v-if为false时不会生成元素,v-show则一直会把元素渲染出来,只是切换display属性。

Vue官网查看v-if和v-show的定义,发现一句很精辟的话“v-if 指令将根据表达式值的真假来插入/移除元素。”

适用场景: 如果元素的显示隐藏次数相对较少,比如根据用户的权限控制显示的内容,可以使用v-if。相反的,如果元素的显示隐藏状态会经常的切换,为了提升页面性能(虽然Vue已经很快了),应该使用v-show。

// 权限
<div v-if = "permission === admin"></div>
// 开关
<div v-show = "switch === open"></div>

2.computed / methods / watch

重合功能: 三个都能实现对变量的计算。
区别:

上一篇下一篇

猜你喜欢

热点阅读