1、v-if & v-show

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <h1>{{msg}}</h1>
    <!--
        v-if  v-show指令:
               作用:用来通过vue方式控制页面中那些标签的展示和隐藏
               语法:控制哪个标签显示隐藏直接在哪个标签上添加v-if="true/false"或者v-show="true/false"
               区别:
                    1、v-if底层通过dom树上元素节点实现,页面标签展示和隐藏   dom树
                    2、v-show底层通过控制标签css中display属性实现标签的展示和隐藏  css样式

               使用总结:
                    一般来说,v-if有更高的切换开销,而v-show有更高的渲染开销。因此,如果需要非常频繁的切换,使用v-show比较好。否则使用v-if
                    即:变化快用v-show    变化慢用v-if
    -->
    <h2 v-if="isShow">{{msg}}</h2>
    <h2 v-show="isShow">{{msg}}</h2>
</div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data: {
            msg: "hello vue",
            isShow: true
        },
        methods: {

        }
    });
</script>

2、v-if & v-show案例应用一

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app">
        <h2 v-show="isShow">{{msg}}</h2>

        <button v-on:click="hide">隐藏</button>
        <button v-on:click="show">显示</button>
        <button v-on:click="change">隐藏/显示</button>
    </div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data: {
            msg: "hello vue",
            isShow: true
        },
        methods: {
            hide: function () {
                if(this.isShow == true){
                    this.isShow = false;
                }
            },
            show: function () {
                if(this.isShow == false){
                    this.isShow = true;
                }
            },
            change: function () {
                this.isShow = !this.isShow;
            }
        }
    });
</script>

3、v-if & v-show案例应用二

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <div id="app">
        <h1>{{msg}}</h1>
        <div style="width: 200px;height: 200px;background-color: red;" v-show="isShow" v-on:mousemove="hideDiv"></div>
    </div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data:{
            msg: "hello vue",
            isShow: true
        },
        methods:{
            hideDiv(){
                this.isShow = !this.isShow
            }
        }
    });
</script>

4、v-bind指令

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--
        v-bind用来将html标签属性绑定vue实例,日后通过修改vue实例中属性以达到动态修改标签属性的效果
        v-bind:绑定  作用:用来绑定html标签中的某个属性交给vue实例进行管理
                    好处:一旦属性交给vue实例进行管理之后,日后可以通过修改vue实例中绑定的属性达到动态修改变迁属性的效果
                    语法:对应标签上  v-bind:属性名

        v-bind的简化写法:      :属性名=“属性值”, 用冒号代替v-bind:
    -->
    <div id="app">
        <img v-bind:width=width v-bind:height="height" v-bind:src="src" v-on:mousemove="changeSrc">
    </div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data: {
            src: "https://img1.baidu.com/it/u=1785717022,2470862482&fm=26&fmt=auto"
        },
        methods: {
            changeSrc(){
                this.src = "https://img0.baidu.com/it/u=3388090337,4070257478&fm=26&fmt=auto";
            }
        }
    });
</script>

5、v-bind指令使用三目运算符的案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        .aa{
            width: 100px;
            height: 100px;
            border: 10px solid red;
        }

        .bb{
            width: 100px;
            height: 100px;
            border: 10px solid green;
        }
    </style>
</head>
<body>
    <div id="app">
        <div  v-bind:class="cls?'aa':'bb'"></div>
    </div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data: {
            cls: false
        },
        methods: {

        }
    });
</script>