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
下面是我的完整代码在这里我试图默认隐藏“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;
}
您已经在组件定义中定义了 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
的计算结果为真,它也只会删除添加的 display: none
内联样式。由于为 #hide
添加的样式,您的 css 代码将始终保持 display: none
。这意味着您的组件将始终被隐藏。
修复
删除 css 样式。只依赖v-show='toggle'
工作Fiddle.
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>
下面是我的完整代码在这里我试图默认隐藏“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;
}
您已经在组件定义中定义了 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
的计算结果为真,它也只会删除添加的 display: none
内联样式。由于为 #hide
添加的样式,您的 css 代码将始终保持 display: none
。这意味着您的组件将始终被隐藏。
修复
删除 css 样式。只依赖v-show='toggle'
工作Fiddle.
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>