前提衬着
v-if
<div id="app">
<template v-if="ok">
<h1>Title</h1>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</template>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
message: "hello",
ok: true
}
})
</script>
v-else
<div id="app">
<div v-if="Math.random() > 0.5">
Now you see me
</div>
<div v-else>
Now you don't
</div>
</div>
<script>
var vm = new Vue({
el: '#app',
})
</script>
v-show
<div id="app">
<h1 v-show="ok">Hello!</h1>
</div>
<script>
var vm = new Vue({
el: '#app',
data:{
ok:true
}
})
</script>
v-if
vs v-show
v-if
是“真正”的前提衬着,由于它会确保在切换过程当中前提块内的事宜监听器和子组件适当地被烧毁和重修。
v-if
也是惰性的:假如在初始衬着时前提为假,则什么也不做——直到前提第一次变成真时,才会最先衬着前提块。
相比之下,v-show
就简朴很多——不论初始前提是什么,元素老是会被衬着,而且只是简朴地基于 CSS 举行切换。
一般来说,v-if
有更高的切换开支,而 v-show
有更高的初始衬着开支。因而,假如须要异常频仍地切换,则运用 v-show
较好;假如在运行时前提很少转变,则运用 v-if
较好。
v-if
与 v-for
一同运用
当 v-if
与 v-for
一同运用时,v-for
具有比 v-if
更高的优先级。