vue中v-show 和 v-if 的区别:

2020-10-11  本文已影响0人  lucky_yao
     v-show : 显示和隐藏

      v-if :  创建和销毁

相同点:v-show和v-if都能控制元素的显示和隐藏。

不同点:v-if只有在判断为true的时候才会对数据进行渲染,false的时候把包含的代码进行删除。除非再次进行数据渲染,v-if才会重新判断。可以说是用法比较倾向于对数据一次操作。v-show是无论判断是什么都会先对数据进行渲染,只是false的时候对节点进行display:none;的操作。所以再不重新渲染数据的情况下,改变数据的值可以使数据展示或隐藏。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="js/vue.min.js"></script>
    </head>
    <body>
        <div id="app">
            <h3> v-show 显示隐藏 通过display</h3>
            <p v-show="a=='apple'">fff</p>
            <h3> v-if 显示隐藏 通过有无 这个标签</h3>
            <p v-if="a=='apple'">显示隐藏</p>
            <h3> v-if  v-else-if v-else 做判断</h3>
            <div v-if="num>=90">
                优秀
            </div>
            <div v-else-if="num>=60">
                良好
            </div>
            <div v-else>
                不及格
            </div>
            
            <input type="text" v-model="msg"/>
            {{msg}}
            
            <h3> v-once 只展示一次 不会跟着变化而变化</h3>
            <p v-once>{{msg}}</p>
        </div>
        
    </body>
    <script type="text/javascript">
        new Vue({
            el: '#app',
            data: {
                msg: '111',
                h1styleobj: {
                    'color': 'red',
                    'background-color': 'pink'
                },
                h1styleobj1: {
                    'font-size': '50px'
                },
                tr:true,
                f:false,
                a:'apple',
                num:'60'
            }
        })
        
    </script>
</html>
上一篇下一篇

猜你喜欢

热点阅读