Vueにおけるwatchの簡単な応用
13188 ワード
Vueにおけるwatchの簡単な応用 Vueにおけるwatchの簡単な応用 demo1 demo2 demo3
Vueにおけるwatchの簡単な応用
Vue.jsには、Vueインスタンス上のデータ変動を監視するための方法watchがある.
オブジェクトに対応する場合、キーがルックアップ式、値がコールバック、値はメソッド名、またはオブジェクトで、オプションが含まれます.
次は2つのdemoを書いて、demoを参考にして理解してみましょう
demo1
上のほうがわかりやすく、watchでdemoを直接監視し、demoの値が変化すればvalueの値も一緒に変化します.
demo2
上記の例では、watchがオブジェクトである場合、watchを直接使用することはできません.この場合、computed計算プロパティを使用して完了できます.
demo3
配列の変化は、深さwatchを必要としません.
Vueにおけるwatchの簡単な応用
Vue.jsには、Vueインスタンス上のデータ変動を監視するための方法watchがある.
オブジェクトに対応する場合、キーがルックアップ式、値がコールバック、値はメソッド名、またはオブジェクトで、オプションが含まれます.
次は2つのdemoを書いて、demoを参考にして理解してみましょう
demo1
<template>
<div>
<el-input v-model="demo"></el-input>
{{value}}
</div>
</template>
<script>
export default {
name: 'index',
data() {
return {
demo: '',
value: ''
};
},
watch: {
demo(val) {
this.value = this.demo;
}
}
};
</script>
上のほうがわかりやすく、watchでdemoを直接監視し、demoの値が変化すればvalueの値も一緒に変化します.
demo2
<template>
<div>
<el-input v-model="demo.name"></el-input>
{{value}}
</div>
</template>
<script>
export default {
name: 'index',
data() {
return {
demo: {
name: ''
},
value: ''
};
},
computed: {
newName() {
return this.demo.name;
}
},
watch: {
newName(val) {
this.value = val;
}
}
};
</script>
上記の例では、watchがオブジェクトである場合、watchを直接使用することはできません.この場合、computed計算プロパティを使用して完了できます.
demo3
<div id="app">
<input type="text" v-model="childrens.name" />
<input type="text" v-model="lastName" />
</div>
<script type="text/javascript">
var vm = new Vue( {
el: '#app',
data: {
childrens: {
name: ' ',
age: 20,
sex: ' '
},
tdArray:["1","2"],
lastName:" "
},
watch:{
childrens:{
handler:function(val,oldval){
console.log(val.name)
},
deep:true// ,
},
'childrens.name':function(val,oldval){
console.log(val+"aaa")
},//
lastName:function(val,oldval){
console.log(this.lastName)
}
},// V-model
} );
vm.$watch("lastName",function(val,oldval){
console.log(val)
})// $watch
</script>
</body>
配列の変化は、深さwatchを必要としません.