我與knockoutjs工作,我試圖從JSON數據填充視圖模型實例。 據knockoutjs文檔我可以用這個語句:當映射ko.mapping.fromJS值均爲空
ko.mapping.fromJS(data, viewModel);
這裏我的代碼:
var pledgeVM=function(){
this.name=ko.observable();
this.Assets=ko.observableArray([]);
this.StartEdit=function(assetModel){
};
};
pledge = {"name":"Moses","Assets":[{"CityId":13,"commetns":null},{"CityId":14,"commetns":null}]};
var pledgeVMinstance=new pledgeVM();
ko.mapping.fromJS(pledge,pledgeVMinstance);
不填充某種原因數據(pledgeVMinstance.name()是不確定的) 除非我改變聲明於:
ko.mapping.fromJS(pledge,{},pledgeVMinstance);
可能有人能解釋我爲什麼 事情會這樣。
感謝
這只是部分正確。如果你用兩個參數調用:'ko.mapping.fromJS(data,mappedObject)',其中第二個參數是映射插件已經創建的「mappedObject」(因此它具有定義的__ko_mapping__屬性)第二個參數是viewModel而不是選項。請參閱:https://github.com/SteveSanderson/knockout.mapping/blob/master/knockout.mapping.js#L96。這是更新示例'ko.mapping.fromJS(data,viewModel);'的文檔中的方法。 – nemesv
不知道。謝謝。 –
因此,在使用2個參數的文檔中 - 第二個選項是?所以爲什麼它sais「ko.mapping.fromJS(data,viewModel);」第二個是viewModel? – happyZZR1400