watch监听数据(进页面立马监听,监听对象,监听表单中的某一项)
watch监听数据(进页面立马监听,监听对象,监听表单中的某一项)
·
1.基础监听(监听一个字段)
<template>
<h1>{{userName }}</h1>
<input type="text" v-model="userName" />
</template>
<script>
export default {
name: "Watch",
data() {
return {
userName: "ll"
};
},
watch:{
userName(newVal,oldVal){
console.log(newVal,oldVal);
},
},
methods: {},
};
</script>
<style scoped>
</style>
2.刚一进页面就监听(immediate)
<template>
<h1>{{userName }}</h1>
<input type="text" v-model="userName" />
</template>
<script>
export default {
name: "Watch",
data() {
return {
userName: "ll"
};
},
watch:{
userName:{
handler(newVal,oldVal){
console.log(newVal,oldVal);
},
immediate:true
},
methods: {},
};
</script>
<style scoped>
</style>
3.如果监听对象(deep)
<template>
<h1>{{ obj.userName }}</h1>
<input type="text" v-model="obj.userName" />
</template>
<script>
export default {
name: "Watch",
data() {
return {
obj: {
userName: "ll",
age:20
},
};
},
watch: {
obj: {
handler(newVal, oldVal) {
console.log(newVal, oldVal);
},
deep: true,
immediate: true,
},
},
methods: {},
};
</script>
<style scoped>
</style>
4.只监听对象中的某一项
<template>
<h1>{{ obj.userName }}</h1>
<input type="text" v-model="obj.userName" />
</template>
<script>
export default {
name: "Watch",
data() {
return {
obj: {
userName: "ll",
age:20
},
};
},
watch: {
'obj.userName': {
handler(newVal, oldVal) {
console.log(newVal, oldVal);
},
immediate: true,
},
},
methods: {},
};
</script>
<style scoped>
</style>
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)