我正在使用Web服務將數據加載到客戶端。爲了達到綁定的目的,我需要擴展我得到的數據。即我不想按摩服務器端的所有數據。ko.observableArray和JSON數據按摩
例如,對象Trip { Id: "123", Status: "P" }
在HTML我結合table
到observableArray和想要顯示 「待定」,而不是 「P」。 我來自Silverlight/MVVM,通常你會使用轉換器或只是將新的R/O屬性添加到對象。
不知道如何這種情況下應在knockout.js
我正在使用Web服務將數據加載到客戶端。爲了達到綁定的目的,我需要擴展我得到的數據。即我不想按摩服務器端的所有數據。ko.observableArray和JSON數據按摩
例如,對象Trip { Id: "123", Status: "P" }
在HTML我結合table
到observableArray和想要顯示 「待定」,而不是 「P」。 我來自Silverlight/MVVM,通常你會使用轉換器或只是將新的R/O屬性添加到對象。
不知道如何這種情況下應在knockout.js
如果你只是想找一個轉換器,computed
observables是一個很好的候選人。
var Tip = function(data) {
var self = this;
self.id = data.id;
self.status = ko.observable(data.status);
//You may prefer fullStatus, or statusName
self.statusConverter = ko.computed(function() {
return self.statusMap[self.status()];
});
};
Tip.prototype.statusMap = {
P: "Pending",
O: "Open",
C: "Closed"
};
可以綁定到這樣的:
<td data-bind="text: statusConverter"></td>
你可以看到它在this fiddle