- computed能完成的功能,watch都可以完成
- watch能完成的功能,computed不一定能完成。例如:watch可以进行异步操作
两个重要的小原则:
- 所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm 或 组件实例对象
- 所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数、Promise的回调函数等),最好写成箭头函数,这样this的指向才是vm 或 组件实例对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>计算属性_methods</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
姓:<input type="text" v-model="firstName" /><br /><br />
名:<input type="text" v-model="lastName" /><br /><br />
全名:<span>{{fullName}}</span>
</div>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
firstName: '空谷',
lastName: '有来人',
fullName: '空谷-有来人',
},
watch: {
firstName(val) {
this.fullName = val + '-' + this.lastName
},
lastName(val) {
this.fullName = this.firstName + '-' + val
},
},
})
</script>
</body>
</html>
我是空谷有来人,谢谢大家。