Vue指令之v-show篇

扯到v-show就不得不说说他老人家和v-if 的藕断丝连了

我先试着扯一扯:

v-if 呢如果条件为false,那么在生成的HTML语句中,条件为false的标签不会生成在代码中

例如:

代码:

运行后:

浏览器输出:

有没有发现,<h1 v-if="error">Error!</h1>这部分在运行后没有生成

v-show呢如果条件为false,运行后,还是生成了条件为false所在的标签,但是只是让其display属性为none,即该标签不进行显示,看下面的代码:

代码:

运行后:

浏览器输出:

发现没,运行后的代码中有<h1 style="display: none;">Error!</h1>,就是说Erroe!所在的标签还是生成了代码,只是没有进行显示而已,而v-if 如果条件为false,就直接不生成代码,两者之间有本质的区别。

-----------------------------------------------------------------------------------------------------

看完上面的东西,你应该知道v-show是干啥的了,没错他也是根据条件来展示元素的,和v-if的功能类似,他们之间的却别已经在上面说的好像清楚了

具体再来看看v-show

上代码:

<html>
<head>
<meta charset="utf-8">
<title>v-show指令学习</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <h1 v-show="ok">Hello!</h1>  //条件为TRUE,输出
    <h1 v-show="error">false!</h1>  //条件为false,不输出
    <h1 v-show="10>5">10大于5,输出!</h1>   //条件为TRUE,输出
    <h1 v-show="2>10">不大于10,不输出!</h1>   //条件为false,不输出
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    ok: true,
    error: false
  }
})
</script>
</body>
</html>

输出:

看了上面的例子,更加深刻的理解了v-show的功能,其功能类似于v-if哦!!!

原创不易,转载说明出处:https://blog.csdn.net/Kermit_father

  • 47
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue3中,v-show指令用于控制元素的显示与隐藏。与v-if不同的是,v-show在不满足条件时不会将元素从DOM中移除,而是通过修改元素的display属性来实现隐藏。这样可以节省一些渲染开销。 然而,在使用v-show的时候,如果组件有多个根节点,会出现问题。例如,当我们尝试使用v-show控制一个有多个根节点的组件时,v-show将不会生效,组件不会隐藏。 解决这个问题的办法是使用watch来监听v-show的变化。当v-show的值发生变化时,我们可以执行一些操作。这样可以在修改v-show的同时实现其他的逻辑。 需要注意的是,如果切换频率不高,使用v-show可能是一个不错的选择。因为v-show只是通过修改display属性来实现切换,相对来说比较轻量。但如果需要频繁切换的话,可能会有一些性能方面的影响,这时候可以考虑使用v-if来代替v-show。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【vue3】07. 跟着官网学习vue3-条件渲染,v-if和v-show](https://blog.csdn.net/qq_17335549/article/details/126675688)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值