vue computed和 methods、 watch 区别(邹文丰)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<body>
<div id="example">
<p>Original message: "{{ message }}"</p>
<p>Computed reversed message: "{{ reversedMessage }}"</p>
<div>{{test1}}</div>
<button @click="add_1">点击</button>
<!--<div id="demo">{{ fullNames }}</div>-->
</div>
<script>
var vm = new Vue({
el: '#example',
data: {
message: '您好!',
test1:1,
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
computed: {
reversedMessage: function (test) {
console.log(test);
return this.message.split('').reverse().join('')
},
},
methods:{
add_1:function () {
this.message='你好呀!';
alert(this.reversedMessage);
return this.test1++
}
},
watch:{
// firstName: function (val) {
// this.fullName = val + ' ' + this.lastName
// },
// lastName: function (val) {
// this.fullName = this.firstName + ' ' + val
// }
}
})
//1.computed 计算属性 缓存 计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值;优点减少代码遍历,直接得到缓存数据。
//2.methods 事件方法普通事件
//3.watch 侦听器 虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。
// 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
</script>
</body>
</html>
posted @ 2018-04-09 19:14  zou1234  阅读(425)  评论(0编辑  收藏  举报