2017-07-20 4 views
1

申し訳ありませんが、私はここでいくつかの答え、次の試みたが、私は私が見つける最初の1つのjavascriptとvueを使用して配列にオブジェクトを追加するとき、どうすればいいですか?その非常に簡単な質問であれば

方法に基づいて、私は配列に新しいオブジェクトを追加したい。..

をcouldntのそれが動作します。このいずれかです。

new Vue({ 
    el: "#app", 
    data: { 
     name: '', //name isnt inside and object 
    //failedExample: {name: ''} 
     array: [] 
    }, 
    methods: { 
     add(){ 
      this.array.push({name: this.name}) // i push a key:value 
      //this.array.push(failedExample) // what i wished to do 
     } 
    } 
}); 

https://jsfiddle.net/myrgato/6mvx0y1a/

私はコメントのArray.pushを使用することによって、私はちょうど何度もオブジェクトに同じ参照を追加し、そのとき私はチャンれることを理解してe failedExample.nameの値は、配列のすべての位置で変更されます。これが起こらない方法はありますか?同様に、最初のオブジェクトを追加し、次のオブジェクトを参照の代わりにNEWとして追加しますか?

+0

をあなたは、あなたが望む結果の例を教えてくれますか? – larz

答えて

3

'failedExample'と同じように機能します。唯一の間違ったこと 配列にプッシュしているときにこのキーワードを忘れていることがわかります。

new Vue({ 
    el: "#app", 
    data: { 
     failedExample: { name: 'test'}, 
     array: [] 
    }, 
    methods: { 
     add(){ 
      this.array.push(this.failedExample); 
      console.log(this.array); 
     } 
    } 
}); 

更新

だから、これを試してみてください、あなたが新しいオブジェクトを毎回追加したい場合は、それをクローンしようとするので、あなたはrefferenceの問題を抱えています。

this.array.push(Object.assign({}, this.failedExample)); 
+0

完璧!どうもありがとうございました! –

+0

歓迎ですが、もしそれが良ければ答えを受け入れることができますか?ありがとうございました :) –

関連する問題