vue中隐藏和限制div或其他html元素
在Vue中隐藏和限制Div或其他html元素操作非常简单。通常有两种方法可以实现:v-if和v-show这两个判断属性。
下面通过一个简单的实例来了解一下这两种方式的实现。完整实例代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>显示和隐藏</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script> </head> <body> <H1>联系通过Vue隐藏和显示Div</H1> <div id="app"> <div v-if="isShow">{{message}}</div> <div v-show="isTrue">欢迎关注微信公众号:程序新视界</div> <div> <button @click="showOrHideMsg">显示/隐藏(v-if)</button> <button @click="showOrHide">显示/隐藏(v-show)</button> </div> </div> <script type="text/javascript"> var app = new Vue({ el: "#app", data: { isShow: true, isTrue: true, message: 'Hello Vue!' }, methods: { showOrHideMsg: function () { // 取反 this.isShow = !this.isShow; }, showOrHide: function () { // 取反 this.isTrue = !this.isTrue; } } }) </script> </body> </html>
首先在上面的代码中通过CDN引入了vue.js。通过el指定的vue监控的范围。其中在id为app的div中实现了两种方式的展示v-if=”isShow”和v-show=”isTrue”,他们的用法基本一样。
下面的js脚本中对vue进行初始化,默认这两个div都是显示的。因为isShow和isTrue都默认为true。
然后定义了两个按钮,并对两个按钮进行事件绑定,两个方法的实现都是对默认的布尔类型取反并赋值给自身。
此时,通过点击两个按钮,就可以循环的显示和隐藏div元素。
那么通过这两种方式显示和隐藏Div元素有什么不同么?
v-if以删除或添加dom结点控制元素的显示隐藏
v-show是通过添加样式display:none控制元素的显示隐藏
如果html要操作的内容比较多,相对于删除和创建dom会比较损耗性能,因此可考虑使用v-show来进行操作。当少量不频繁的操作可考虑使用v-if来进行操作。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接