- 计算属性不能用异步代码;
- 有返回值的函数,用异步代码也不行;
- 没有返回值的函数,可以用异步代码;
- watch监听也可以放异步代码;
data、methods、computed、watch的区别:
data:状态,会被拦截;
methods:事件绑定,逻辑计算。可以不用return,没有缓存;
computed:重视结果,解决模板过重问题,必须有return,只求结果,有缓存,同步;
watch:重视过程,监听一个值的改变,不用返回值,异步同步;
watch监听值改变:
- 监听谁,就把谁封成函数;
- 函数参数是当前最新的value值;
- 下面代码演示,监听mytext的变化:
<body>
<div id="box">
<input type="text" v-model="mytext">
</div>
<script>
new Vue({
el:"#box",
data:{
mytext:""
},
watch:{
mytext(newval){
console.log("改变了",newval)
}
},
methods:{
}
})
</script>
</body>
结果: