vue.js繫結事件監聽器(v-on)

_code小學生發表於2018-03-24
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- Vue.js -->
    <script src="https://unpkg.com/vue/dist/vue.min.js"></script>
</head>
<body>
<div id="app">
    <p v-if="show">這是一段文字</p>
    <buttton v-on:click="handleClose">點選隱藏</buttton>
</div>
</body>
</html>
<script>
    //當資料show的值為true時,p元素會被插入,為false時會被移除
    var myData = {
        show:true
    };
    var app = new Vue({
        el:'#app',
        data:myData,
        //在普通元素上,v-on可以監聽原生的DOM事件,除了click外,還有dbclick、keyup、mousemove等。表示式可以是一個方法名,這些方法都寫在vue例項的methods屬性內,並且是函式的形式,函式內的this指向的是當前vue例項本身,因此可以直接使用this.xxx的形式來訪問或者修改資料,如例項中的this.show = false;把資料show修改為了false,所以點選按鈕時,文字p元素就被移除了
        methods:{
            handleClose:function () {
//                this.show = false

                //在handleClose方法內,直接通過close()呼叫了close函式。在示例中是多此一舉的,只是用於演示它的用法
                this.close()
            },
            close:function () {
                this.show = false
            }
        }
    })
</script>

相關文章