如何利用Vue.js库中的v-show显示和隐藏元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用Vue.js库中的v-show显示和隐藏元素相关的知识,希望对你有一定的参考价值。

步骤:

    创建静态页面vshow.html,并修改title内容“Vue.js之v-show指令”,如下图所示:

    引入Vue.js中的javascript文件,注意引入js的位置,如下图所示:

    在body元素内部插入一个div,div标签内部插入三个p元素,分别加上v-if、v-else和v-show,如下图所示:

    在div标签下方插入<script></script>元素,并在里面添加Vue.js代码,如下图所示:

    预览该静态页面,这时会发现显示内容,如下图所示:

    第六步,将local属性值改为“false”,再次预览该页面,如下图所示:

Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。

另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。

参考技术A

v-show是通过其值为true或者false来决定所包含的元素是否显示。举例如下:

HTML:

<div id="app">
    <p v-show="ok">123</p>
</div>

JavaScript(Vue):

var vm = new Vue(
    el: '#app',
    data: 
        ok: true
    
);

默认情况下运行结果会在页面上显示这个p元素,也就是会出现123字符串。

当我们在控制台中使用vm.ok = false;将其值设置为false后。123字符串将立即消失,即p元素被隐藏了。

本回答被提问者采纳

VUE JS - 默认情况下如何隐藏 div?如果用户点击按钮,那么它应该使用 vue 显示

【中文标题】VUE JS - 默认情况下如何隐藏 div?如果用户点击按钮,那么它应该使用 vue 显示【英文标题】:VUE JS - How to hide a div by default? And if user clicks on button then it should display using vue 【发布时间】:2021-09-27 19:18:47 【问题描述】:

下面是我的完整代码这里我试图默认隐藏“v-show”。默认情况下它应该处于隐藏状态,当用户单击按钮时它应该显示。我使用“display:none”css 属性来隐藏 div 默认值,但它不起作用。我们如何解决这个问题?

<script src="https://unpkg.com/vue@2.5.3/dist/vue.js"></script>

<div id="app">
  <button @click='toggle = !toggle'> click here </button>
  <div id="hide" v-show='toggle'>showing</div>
</div>
<script>
new Vue(
 el: '#app',
 data () 
   return 
     toggle: true
   
 ,
)
</script>

css

#hide 
    display:none;

【问题讨论】:

【参考方案1】:

您在组件定义中定义了toggle: true,并且在模板中使用了v-show='toggle'。但是您的 css 样式总是将 display:none; 添加到 #hide 元素。

v-show 有什么作用?

v-show 中的条件计算为false 时,它将向元素添加display: none 内联样式,如果计算结果为true,它将删除display: none。更简单地说,它只是在元素样式中添加和删除display: none。它没有添加任何display: block 或其他使您的元素可见的东西。

您的元素始终隐藏在您为 #hide 元素添加的 CSS 代码中。因此,即使 v-show 的计算结果为 true,它也只会删除添加的 display: none 内联样式。由于为#hide 添加的样式,您的css 代码将始终保留display: none。这意味着您的组件将始终被隐藏。

修复

删除 css 样式。只依赖v-show='toggle'

工作小提琴。

new Vue(
  el: '#app',
  data() 
    return 
      toggle: false
    
  ,
)
/* #hide 
  display:none;
 */
<script src="https://unpkg.com/vue@2.5.3/dist/vue.js"></script>

<div id="app">
  <button @click='toggle = !toggle'> click here </button>
  <div id="hide" v-show='toggle'>showing</div>
</div>

【讨论】:

以上是关于如何利用Vue.js库中的v-show显示和隐藏元素的主要内容,如果未能解决你的问题,请参考以下文章

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

如何利用Vue.js库中的v-bind绑定样式属性

Vue.js常用指令:v-show和v-if

Vue显示隐藏(v-show,v-if)

Vue考前详细总结

VUE JS - 默认情况下如何隐藏 div?如果用户点击按钮,那么它应该使用 vue 显示