一、条件渲染
官方文档解析
v-if
是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if
也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
v-show
就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。
一般来说,v-if
有更高的切换开销,而 v-show
有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show
较好;如果在运行时条件很少改变,则使用 v-if
较好。
ps:不推荐同时使用v-if
和v-for
,当 v-if
与 v-for
一起使用时,v-for
具有比 v-if
更高的优先级。
- 使用场景
v-if适合运营条件不大可能改变;v-show适合频繁切换。
(1)对于管理系统的权限列表的展示,这里可以使用v-if来渲染,如果使用到v-show,对于用户没有的权限,在网页的源码中,仍然能够显示出该权限,如果用v-if,网页的源码中就不会显示出该权限。(在前后台分离情况下,后台不负责渲染页面的场景。)
(2)对于前台页面的数据展示,这里推荐使用v-show,这样可以减少开发中不必要的麻烦。
二、列表渲染
1,v-for
<ul id="example-2">
<li v-for="(item, index) in items">
{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>
</ul>
var example2 = new Vue({
el: '#example-2',
data: {
parentMessage: 'Parent',
items: [
{ message: 'Foo' },
{ message: 'Bar' }
]
}
})
网友评论