VUE v-if 和 v-show 区别和例子

发布时间:2024年01月20日

在Vue中,v-if和v-show是两种常用的指令,用于控制组件的显示和隐藏。下面是一些使用v-if和v-show的例子:

v-if 在编译过程中会被转化成三元表达式,条件不满?时不渲染此节点。

v-show 会被编译成指令,条件不满?时控制样式将对应节点隐藏(display:none)

v-if

html
<template> ?
? <div> ?
? ? <p v-if="showMessage">Hello, Vue!</p> ?
? ? <button @click="toggleMessage">Toggle Message</button> ?
? </div> ?
</template> ?
??
<script> ?
export default { ?
? data() { ?
? ? return { ?
? ? ? showMessage: false ?
? ? }; ?
? }, ?
? methods: { ?
? ? toggleMessage() { ?
? ? ? this.showMessage = !this.showMessage; ?
? ? } ?
? } ?
}; ?
</script>
在上面的例子中,当showMessage的值为true时,段落元素会被渲染到DOM中。当showMessage的值为false时,段落元素不会被渲染。用户可以通过点击按钮来切换showMessage的值。

v-show

html
<template> ?
? <div> ?
? ? <p v-show="showMessage">Hello, Vue!</p> ?
? ? <button @click="toggleMessage">Toggle Message</button> ?
? </div> ?
</template> ?
??
<script> ?
export default { ?
? data() { ?
? ? return { ?
? ? ? showMessage: false ?
? ? }; ?
? }, ?
? methods: { ?
? ? toggleMessage() { ?
? ? ? this.showMessage = !this.showMessage; ?
? ? } ?
? } ?
}; ?
</script>
在上面的例子中,无论showMessage的值为true还是false,段落元素始终会被渲染到DOM中。用户可以通过点击按钮来切换元素的可见性。当showMessage的值为false时,元素会被设置为不可见。当showMessage的值为true时,元素会被设置为可见。

文章来源:https://blog.csdn.net/emma20080101/article/details/135720484
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。