2017-11-20 13 views
0

私はサーバーからデータを取得した後にViewModelを更新するためにko.mapping.fromJSを使用しています。しかし、それは私にとっては問題です。ko.mapping.fromJSオブジェクトを再作成せずに変更する

ko.mapping.fromJSの後、更新されたプロパティで表示されます。しかし、毎回プロパティは新しいデータで再作成され、既存のプロパティは更新されません。

新しいデータでプロパティを再作成する代わりに、ViewModelの更新されたプロパティを取得する方法

答えて

0

mapping plugin documentationで説明したように、

Let’s say you have a JavaScript object that looks like this: 

var data = { 
    name: 'Scot', 
    children: [ 
     { id : 1, name : 'Alicw' } 
    ] 
} 
You can map this to a view model without any problems: 

var viewModel = ko.mapping.fromJS(data); 
Now, let’s say the data is updated to be without any typos: 

var data = { 
    name: 'Scott', 
    children: [ 
     { id : 1, name : 'Alice' } 
    ] 
} 
Two things have happened here: name was changed from Scot to Scott and children[0].name was changed from Alicw to the typo-free Alice. You can update viewModel based on this new data: 

ko.mapping.fromJS(data, viewModel); 

最後の文字列は、新しいデータでのViewModelを更新する方法を示しています。

関連する問題