vueでの$forceUpdateの使用
1773 ワード
vueの$forceUpdateは強制更新という意味です
データのバインドは心配する必要はありません.例えば、dataにnameの変数があると、ページの内容を変更すると自動的に変化します.
しかし、複雑なオブジェクト、例えばオブジェクトの配列に対して、配列上の要素に直接属性を追加すると、vueは変更が発生したことを知ることができません.
私たちはinfoに直接あげてみました.nameは値を割り当てて、ページに効果がないことを発見します;
では、$forceUpdateを利用します.データを修正したからです.しかし、ページ層は変更されていません.データ自体が修正されたことを示していますが、vueは傍受されていません.$forceUpdateを使うのは最新のデータに従ってレンダリングすることに相当します.
方法1:
方法2:
転載先:https://www.cnblogs.com/caoruichun/p/10769242.html
データのバインドは心配する必要はありません.例えば、dataにnameの変数があると、ページの内容を変更すると自動的に変化します.
しかし、複雑なオブジェクト、例えばオブジェクトの配列に対して、配列上の要素に直接属性を追加すると、vueは変更が発生したことを知ることができません.
//
"info">
data() {
return {
info:{}
}
},
//
info:{{ info }}
props:{
info:Object
},
methods: {
headleChange(e){
this.info.name = e.target.value;
}
},
私たちはinfoに直接あげてみました.nameは値を割り当てて、ページに効果がないことを発見します;
では、$forceUpdateを利用します.データを修正したからです.しかし、ページ層は変更されていません.データ自体が修正されたことを示していますが、vueは傍受されていません.$forceUpdateを使うのは最新のデータに従ってレンダリングすることに相当します.
方法1:
headleChange(e){
this.info.name = e.target.value;
this.$forceUpdate()
}
方法2:
headleChange(e){
this.$set(this.info,'name',e.target.value)
}
転載先:https://www.cnblogs.com/caoruichun/p/10769242.html