vue监控表单用watch还是computed
<template>
<div id="main">
<form>
<p>用户名<input type="text" v-model="form.name"></p>
<p>年龄<input type="text" v-model="form.age"></p>
<p>
爱好<select name="like" v-model="form.like">
<option value="0">请选择</option>
<option value="1">篮球</option>
<option value="2">足球</option>
</select>
</p>
<button v-if="isc">测试</button>
</form>
</div>
</template>
<script>
export default {
data () {
return {
form: {
name:'',
age:'',
like:'0'
},
//isc:false
}
},
watch:{
/*
form:{
handler: function () {
this.check()
},
deep: true
}
*/
},
computed:{
isc(){
return this.form.name && this.form.age>20 && this.form.like!=='0'
}
},
methods:{
check(){
this.isc=(this.form.name && this.form.age>20 && this.form.like!=='0')
}
}
}
</script>
上面的监控表单 用watch 、computed哪个比较好呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1.如果你的监听只是为了输出计算结果,建议使用 computed
2.如果你的监听涉及 $data 的变更,建议使用 watch, computed 容易造成死循环