VUEは、データオブジェクトは、新しいプロパティを追加する方法ですか?(ニマこのインタビューの質問は、実際に....に実行するように頼ま)

プロパティヴューが解決する方法、オブジェクトのデータに新しい属性を追加したときはどうなりますか?

例:

<template>
<div> <ul> <li v-for="value in obj" :key="value"> {{value}} </li> </ul> <button @click="addObjB">添加obj.b</button> </div> </template> <script> export default{ data () { return { obj: { a: 'obj.a' } } }, methods: { addObjB () { this.obj.b = 'obj.b' console.log(this.obj) } } } </script> <style></style> 

ボタンがありますクリックして、obj.bが正常に追加されましたが、ビューは更新されませんでした。

 

 
その理由は、Vueのインスタンスが作成されると、obj.bが宣言されていないので、Vueの応答特性に変換されていないことがある、当然、更新ビューをトリガすることはありません、あなたは(Vueのグローバルapi--の$セットを使用する必要があります):
addObjB () {    
// this.obj.b = 'obj.b' this.$set(this.obj, 'b', 'obj.b') console.log(this.obj) } 

$ SET()メソッドを手動プロパティに応答obj.bを処理するのに相当し、その後、ビューも変更されます。

 

おすすめ

転載: www.cnblogs.com/fxwoniu/p/11645980.html