v-show:根据表达式真假,切换元素显示隐藏 原理修改元素display 相比if更节约性能,需要频繁切换用show,只需要切换一次用if
v-if: 根据表达式真假,切换元素显示隐藏 原理删除添加元素
v-bind:根据表达式设置元素属性,如图片src,链接href
我是分割线
<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>vue指令</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <style>
        .show {
            display: inline;
        }
        .noShow{
            display: none;
        }
        .myPic{
            width:100px;
            height:100px;
            border:1px solid red;
        }
    </style>
</head>
<body>
    <div id="app">
        <!--v-show 根据表达式真假,切换元素显示隐藏 原理修改元素display 相比if更节约性能,需要频繁切换用show,只需要切换一次用if-->
        <h2 v-show="true">{{ message1 +'真假写死'}}</h2>
        <h2 v-show="isShow">{{ message1 + '根据变量'}}</h2>
        <h2 v-show="age >= 18">{{ message1 + '根据条件'}}</h2>
        <!--v-if 根据表达式真假,切换元素显示隐藏 原理操作元素 -->
        <h2 v-if="isShow">{{ message2 + '根据变量'}}</h2>
        <p v-if="age>=18">成年</p>
        <p v-else-if="age>=16">青少年</p>
        <p v-else>儿童</p>
        <!--v-bind:属性名=表达式 根据表达式设置元素属性 -->
        <img v-bind:src="imgSrc">{{ message3 + 'src'}}</img> <br>
        <img :src="imgSrc">{{ message3 + '简写'}}</img> <br>
        <img :class="isShow?'show':'noShow'" :src="imgSrc">{{ message3 + '三目运算符切换class'}}</img> <br>
        <img :class="{show:isShow,noShow:!isShow}" :src="imgSrc">{{ message3 + '{类名:布尔值}切换class'}}</img> <br>
        <img :style="myStyle" :src="imgSrc">{{ message3 + 'style'}}</img> <br>
        <img :class="[classA,classB]" :src="imgSrc">{{ message3 + '[]多个类名'}}</img> <br>
        <input @click="change" value="切换变量" type="button"></input>
    </div>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                message1: 'v-show!',
                message2: 'v-if!',
                message3: 'v-bind!',
                isShow: true,
                age: 18,
                imgSrc: "https://cn.vuejs.org/images/imooc-ad3.png",
                myStyle: {
                    width:'100px',
                    height:'100px',
                    border:'1px solid red'
                },
                classA: 'show',
                classB: 'myPic',
            },
            methods: {
                change: function () {
                    this.isShow = !this.isShow;
                }
            }
        });
    </script>
</body>
</html>
我是分割线
前台效果:
    vue指令 
        
        {{ message1 +'真假写死'}}
        {{ message1 + '根据变量'}}
        {{ message1 + '根据条件'}}
        
        {{ message2 + '根据变量'}}
        成年
        青少年
        儿童
        
        
{{ message3 + 'src'}} 
{{ message3 + '简写'}} 
{{ message3 + '三目运算符切换class'}} 
{{ message3 + '{类名:布尔值}切换class'}} 
{{ message3 + 'style'}} 
{{ message3 + '[]多个类名'}}