Vue中v-if与v-show的区别(条件渲染)

news/2024/7/10 3:04:45 标签: vue, js, html, javascript, 面试
htmledit_views">

 一、v-if vs v-show

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

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

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

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

二、案例

javascript"><body>
    <div id="app">
        <div v-if="isIf"><p>我被v-if控制</p></div>
        <div v-show="isShow"><p>我被v-show控制</p></div>
        <button @click="pChange">Change</button>
    </div>
</body>
<script>
    var vm = new Vue({
        el:"#app",
        data:{
            isIf:true,
            isShow:true
        },
        methods:{
            pChange(){
                this.isIf=(this.isIf===true?false:true);
                this.isShow=(this.isShow===true?false:true);
            }
        }
    })
</script>

用一个button按钮控制v-if和v-show的true、false切换,当两个指令值都为false时,v-if控制的元素是直接从DOM树销毁的;而v-show控制的元素还在DOM树中,只是以display:none样式隐藏元素内容。


http://www.niftyadmin.cn/n/1527312.html

相关文章

windows 远程桌面客户端

https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/remote-desktop-clients 远程桌面客户端 https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/remote-desktop-allow-access 远程桌面 - 允许…

Vue中Class与Style的绑定

绑定Class 对象语法 我们可以传给 v-bind:class 一个对象&#xff0c;以动态地切换 class&#xff1a; <div v-bind:class"{ active: isActive }"></div> 上面的语法表示 active 这个 class 存在与否将取决于数据 isActive 的 true 或 false。 你可…

kali访问有读写权限的windows共享文件夹

我们的目的很清晰&#xff0c;就是在kali系统中想访问windows系统共享出来的共享文件夹&#xff08;我的开了读写权限&#xff09;。 假如开了共享文件夹的windows系统叫A&#xff0c;想访问A的kali系统叫B&#xff0c;我们再准备一台windows&#xff0c;叫C。 因为A开了共享…

Vue中的事件监听(v-on)

可以用 v-on 指令监听 DOM 事件&#xff0c;并在触发时运行一些 JavaScript 代码。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句&#xff0c;如果没有修饰符也可以省略。用在普通元素上时&#xff0c;只能监听原生 DOM 事件&#xff0c;用在自定义元素组件上…

欢迎使用CSDN-markdown编辑器--

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

Vue中的双向绑定(v-model)

你可以用 v-model 指令在表单 <input>、<textarea> 及 <select>元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。 v-model 本质上是个语法糖。它负责监听用户的输入事件以更新数据。 v-model 会忽略所有表单元素的 value、checked、…

2021-03-03

创建一个表格 一个简单的表格是这么创建的&#xff1a; 项目Value电脑$1600手机$12导管$1鼠标$2 标题2 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录创建一个表格标题2前言一、pandas是什么&#xff1f;二、使…

gulp打包全攻略

虽然文章很长&#xff0c;但内容绝不冗余~ 目录 gulp 的下载 第三方模块 完整代码 书写 gulp 打包的配置文件&#xff0c;需要按照 node 的 模块化 语法规则进行书写 gulp 的下载 如果你想使用 gulp 对你的项目进行打包 1. 需要安装一个全局工具 > 打开命令行, 目录无…