Vue.js—条件渲染

本篇文章给大家分享了关于vue.js条件渲染 ,有需要的朋友可以看一下本篇文章的内容

v-if

在字符串模板中,比如 Handlebars,我们得像这样写一个条件块:

{{#if ok}}    

Yes

{{/if}}

登录后复制登录后复制

在 Vue 中,我们使用 v-if 指令实现同样的功能:

Yes

登录后复制

也可以用 v-else 添加一个“else 块”:

Yes

No

登录后复制

# 在 元素上使用 v-if 条件渲染分组

立即学习“前端免费学习笔记(深入)”;

因为 v-if 是一个指令,所以必须将它添加到一个元素上。但是如果想切换多个元素呢?此时可以把一个 元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含 元素。

            

Title

        

Paragraph 1

        

Paragraph 2

    

登录后复制登录后复制

var vm = new Vue({    el: '#example',    data: {        ok: true    }})

登录后复制登录后复制

# v-else 和 v-else-if

可以使用 v-else 指令来表示 v-if 的“else 块”:

 0.5">    Now you see me

    Now you don't

登录后复制登录后复制

    A

    B

    C

    Not A/B/C

登录后复制登录后复制

v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。

v-show

另一个用于根据条件展示元素的选项是 v-show 指令。

Hello!

登录后复制

不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display。

注意,v-show 不支持 元素,也不支持 v-else。

v-if vs v-show

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

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

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

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

v-if

在字符串模板中,比如 Handlebars,我们得像这样写一个条件块:

{{#if ok}}    

Yes

{{/if}}

登录后复制登录后复制

在 Vue 中,我们使用 v-if 指令实现同样的功能:

Yes

登录后复制

也可以用 v-else 添加一个“else 块”:

Yes

No

登录后复制

# 在 元素上使用 v-if 条件渲染分组

立即学习“前端免费学习笔记(深入)”;

因为 v-if 是一个指令,所以必须将它添加到一个元素上。但是如果想切换多个元素呢?此时可以把一个 元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含 元素。

            

Title

        

Paragraph 1

        

Paragraph 2

    

登录后复制登录后复制

var vm = new Vue({    el: '#example',    data: {        ok: true    }})

登录后复制登录后复制

# v-else 和 v-else-if

可以使用 v-else 指令来表示 v-if 的“else 块”:

 0.5">    Now you see me

    Now you don't

登录后复制登录后复制

    A

    B

    C

    Not A/B/C

登录后复制登录后复制

v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。

v-show

另一个用于根据条件展示元素的选项是 v-show 指令。

Hello!

登录后复制

不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display。

注意,v-show 不支持 元素,也不支持 v-else。

v-if vs v-show

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

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

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

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

相关推荐:

vue.js+layer的表格数据绑定与更新

Vue.js的vue标签属性和条件渲染

小程序开发条件渲染详解

以上就是Vue.js—条件渲染 的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2776997.html

(0)
上一篇 2025年3月8日 14:59:11
下一篇 2025年2月25日 20:59:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论