vue 實例事件

好處是在構造器外部增長一個構造器內部事件html

有三個實例事件方法:vue

- $on() // 點擊一次執行一次jquery

- $once() // 只執行一次app

- $off() // 關閉事件方法ui

外部方法經過 $emit 方法調用this

代碼示例以下:htm

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>example-3</title>
<script src="../assets/js/vue.js"></script>
<script src="../assets/js/jquery-3.1.0.min.js"></script>
</head>

<body>
<h1>example-3</h1>
<hr>
<div id="app">
{{num}}
<p><button @click="add">add</button></p>
</div>
<p><button onclick="reduce()">reduce</button></p>
<p><button onclick="reduceOnce()">reduceOnce</button></p>
<p><button onclick="off()">off</button></p>
<script>
var app = new Vue({
el: '#app',
data() {
return {
num: 1
}
},
methods: {
add() {
this.num++
}
},
})

app.$on('reduce', function () {
console.log('執行了reduce方法');
this.num--
})

app.$once('reduceOnce', function () {
console.log('執行了一次的方法');
this.num--
})

function reduce() {
app.$emit('reduce')
}

function reduceOnce() {
app.$emit('reduceOnce')
}

function off() {
app.$off('reduce')
}
</script>
</body>

</html>

相關文章
相關標籤/搜索