2017-11-03 6 views
0

vue.jsにオブジェクトの配列があります。各オブジェクトはモデルです。私はすべての更新されたオブジェクト(更新された値だけでなく)を追跡したいので、更新されたデータをサーバーにプッシュするための大きな「保存」ボタンを持つことができます。vue.jsのオブジェクトの更新を追跡します

目的は、更新されたモデルのみをプッシュすることです。配列に1000の行がある場合は、1000の更新をサーバー(データベース)にプッシュするのではなく、編集したものだけをプッシュします。いくつかのコード

<ul> 
    <li v-for="item in items" :key="item.id"> 
     <input v-model="item.title" /> 
    </li> 
</ul> 
+1

を編集している場合は、今すぐに編集余分なブール型プロパティ '追加入力するのonblurイベントリスナーを追加し、別の配列にアイテムをプッシュする:そして、それを編集した後、すべてのオブジェクトにtrue'をします配列をフィルタリングして、どのオブジェクトに '編集済み:true'があるのか​​を確認し、フィルタリングされた配列をサーバーにプッシュ –

+0

Okしかし、どのオブジェクトが編集されたのかはどのようにわかりますか?オブジェクトにフラグを立てるには? – BenoitD

+0

ojectをどのように編集しますか –

答えて

0

更新

おかげで、あなたがオブジェクトにeditedTitle: ''プロパティを追加し、v-modelとして設定します。

入力タイトルが

<ul> 
    <li v-for="item in items" :key="item.id"> 
     <input v-model="item.editedTitle" @blur="addToUpdated(item)/> 
    </li> 
</ul> 

data(){ 
    return { 
     items;[], 
     updatedItems:[] 
    } 
} 
methods:{ 
    addToUpdated(item){ 
     if(item.title !== item.editedTitle){ 
      this.updatedItems.push(item); 
     } 
    } 
} 
関連する問題