Vue——指令与事件

1.v-if

v-if/v-else/v-else-if都是用于逻辑判断。
当值为true的时候元素会被插入,当值为false的时候,元素会被删除。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <div id="app">
        <h3 v-if="show">显示这段文本</h3>
        <h3 v-else>没有显示这段文本</h3>
        <h3>{{ show?'显示' : '不显示' }}</h3>
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                show: false,
            }
        })
    </script>
</body>
</html>

2.v-bind

v-bind用于动态更新HTML元素上面的属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <div id="app">v-bind
        <a v-bind:href="url">www.baidu.com</a>
        <img v-bind:src="imgurl">
        <!--语法糖:用:代替<img :src="imgurl">-->
    </div>
    <!--v-bind的基本用途是动态更新HTML元素上的属性-->
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                url: 'www.baidu.com',
                imgurl: 'http://i1.umei.cc/uploads/tu/201705/22/slt1.png'
            }
        })
    </script>
</body>
</html>

3.v-on

v-on用来绑定事件监听.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <div id="app">
        <div v-show="show">这是一段测试文本</div>
        <button v-on:click="handleHide">点击隐藏</button>
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                show: true
            },
            methods: {
                handleHide: function() {
                    this.show = this.show ? false : true
                }
            }
        })
    </script>

</body>
</html>

除了click以外还有dbclick、keyup、mousemove。
  keyup/keydown: 按下按键或松开
  dbclick:连续两次双击触发
  mousemove:鼠标移动

当然这里还可以使用一个内联语句的写法。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="vue.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
    <div id="app">
        <div v-show="show">这是一段测试文本</div>
        <button v-on:click="show?show=false:show=true">点击隐藏</button>
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                show: true
            },
        })
    </script>
</body>
</html>
原文地址:https://www.cnblogs.com/yangmingxianshen/p/12686893.html