为了账号安全,请及时绑定邮箱和手机立即绑定

如何利用Vue.js库中的v-if内部指令判断元素显示

如何利用Vue.js库中的v-if内部指令判断元素显示

慕尼黑8549860 2019-05-31 03:02:37
如何利用Vue.js库中的v-if内部指令判断元素显示
查看完整描述

3 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

在 Vue.js ,使用 v-if 指令判断元素显示

1

2

<h1 v-if="ok">Yes</h1>

<!-- 当ok为true时,该元素显示,否则不显示-->

在 <template> 中配合 v-if 条件渲染一整组

因为 v-if 是一个指令,需要将它添加到一个元素上。但是如果想切换多个元素,此时可以把一个 <template> 元素当做包装元素,并在上面使用 v-if。最终的渲染结果不会包含 <template> 元素。

1

2

3

4

5

<template v-if="ok">  

    <h1>Title</h1>  

    <p>Paragraph 1</p>  

    <p>Paragraph 2</p>

</template>

v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

相比之下, v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

一般来说, v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件不太可能改变,则使用 v-if 较好。

 




查看完整回答
反对 回复 2019-06-01
?
蛊毒传说

TA贡献1895条经验 获得超3个赞


1

2

3

4

5

6

<div id="example01">

 <p v-if="male">Male</p>

 <p v-if="female">Female</p>

 <p v-if="age>25">Age:{{age}}</p>

 <p v-if="name.indexOf('lin')>0">Name:{{name}}</p>

</div>

当age大于25时,Age那一行显示,否则不进行显示

当name包含'lin'时,显示该行,否则不显示

 




查看完整回答
反对 回复 2019-06-01
  • 3 回答
  • 0 关注
  • 1543 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信