为了与用户交互,可以用v-on指令绑定一个事件监听器,通过该监听器调用Vue实例中定义的方法:
<html>
<head>
<title></title>
<script src="https://unpkg.com/vue"></script>
</head>
<body>
<div id="app">
<p>{{msg}}</p>
<button v-on:click="reverseMessage">逆转消息</button>
</div>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
msg: 'Hello Vue.js'
},
methods: {
reverseMessage: function() {
this.msg = this.msg.split('').reverse().join('');
}
}
})
</script>
</body>
</html>
注意:如果将reverseMessage方法写成箭头函数是不行的:
reverseMessage: () => {
this.msg = this.msg.split('').reverse().join('');
}
但是,可以这样写:
reverseMessage() {
this.msg = this.msg.split('').reverse().join('');
}
在reverseMessage方法中,我们更新了应用的状态,但是没有触碰DOM:所有的DOM操作都由Vue来处理,代码不用关注底层逻辑。