<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>watch实现</title>
<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<!--computed和watch的区别
1.computed可以完成的功能,watch都可以完成
2.watch完成的功能,computed不一定能完成;例如watch可以进行异步操作
两个重要小原则:
1.被vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象
2.不被vue所管理的函数(定时器的回调函数,ajax的回调函数),最好写成箭头函数,这样this的指向才是vm或组件实例对象
-->
<div id="app">
姓<input type="text" name="" id="" v-model="firstname" />
名<input type="text" name="" id="" v-model="lastname" />
全名<span>{{fullname}}</span>
</div>
<script type="text/javascript">
new Vue({
el:'#app',
data:{
firstname:'李',
lastname:'建国',
fullname:'李-建国'
},
watch:{
firstname(newVal){
this.fullname = newVal+'-'+this.lastname
},
lastname(newVal){
this.fullname = this.firstname +'-'+newVal
}
}
})
</script>
</body>
</html>