首页 > web前端 > js教程 > 正文

Vuejs 条件渲染和 V-if 与 V-show

花韻仙語
发布: 2024-10-19 08:21:09
转载
486人浏览过

vuejs 条件渲染和 v-if 与 v-show

如果你喜欢我的文章,可以请我一杯咖啡:)
给我买咖啡

vue.js 条件渲染

v-ifv-show 指令用于有条件地渲染 vue.js 中的块。

v-如果

vue.js中,指令v-if用于有条件地渲染块。仅当指令的表达式返回真值时才会渲染该块。

示例 :

<script setup>
import { ref } from 'vue'

const show = ref(true)
</script>

<template>
  <button @click="show = !show">toggle</button>
    <h1 v-if="show">vue.js</h1>
</template>
登录后复制

您可以使用 v-else 指令来指示 v-if 的“else 块”。如果 v-if 指令 表达式不返回 true,则渲染 v-else 块。

<script setup>
import { ref } from 'vue'

const show = ref(true)
</script>

<template>
  <button @click="show = !show">toggle</button>
    <h1 v-if="awesome"> v-if directive </h1>
    <h1 v-else> v-else directive </h1>
</template>
登录后复制

v-else-if

v-else-if,充当 v-if 的 “else if 块”。也可以多次链接。当 v-if 和 v-else-if 计算结果不为 true 时,v-else 指令被触发。

 <p v-if="currentstate === 0">state 0: message 1</p>
    <p v-else-if="currentstate === 1">state 1: message 2</p>
    <p v-else-if="currentstate === 2">state 2: message 3</p>
    <p v-else>state 3: message 4</p>
登录后复制

视频秀

当我们想要有条件地显示某个项目时,我们可以使用 v-show 指令作为另一个选项。

<h1 v-show="ok">Ok!</h1>
登录后复制

不同之处在于带有 v-show 的元素始终会被渲染并保留在 dom 中。 v-show 更改 css 显示属性以显示或隐藏元素。 v-show 不能与 v-else 一起使用

v-if 与 v-show

v-if 是“真正的”条件渲染,因为它确保条件块内的事件侦听器和子组件在切换期间被正确销毁和重新创建。

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

v-if :如果初始渲染时条件为 false,则不会执行任何操作 - 条件块不会被渲染,直到条件第一次变为 true。

v-show 始终呈现并保留在 dom 中。 v-show 更改 css 显示属性以显示或隐藏元素。 v-show 不能与 v-else 一起使用

v-if 具有更高的切换成本,而 v-show 具有更高的初始渲染成本。如果您需要经常切换某些内容,则更喜欢 v-show;如果条件在运行时不太可能改变,则更喜欢 v-if。

结论

在本文中,我们研究了 v-ifv-show 指令的功能和差异。了解这些区别对于优化渲染性能和管理 vue.js 应用程序中的元素可见性至关重要。

以上就是Vuejs 条件渲染和 V-if 与 V-show的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号