マッピングプラグインで生成された配列に計算されたオブザーバブルを手動で挿入することは可能ですか?マッピングプラグインを使用しない例を示しますが、使用できるかどうか知りたいのですが。
サーバーからのJSONデータがあるとしましょう:
[{
"OrderID":1,
"FirstName":"Bill",
"LastName":"Smith",
},{
"OrderID":2,
"FirstName":"Jeff",
"LastName":"Evans",
}
{
"OrderID":3,
"FirstName":"Dan",
"LastName":"Johnson",
}]
私の見解では、Orderクラスとビューモデルがあります。
function Order(order) {
var self = this;
self.OrderID = ko.observable(order.OrderID);
self.FirstName = ko.observable(order.FirstName);
self.LastName = ko.observable(order.LastName);
/*This is what I want to insert after the mapping plugin
generates "orders on the ViewModel*/
self.FullName = ko.computed(function () {
return self.FirstName() + ' ' + self.LastName();
});
}
function ViewModel() {
var self = this;
self.orders = ko.observableArray([])
//Get orders
$.ajax({
url: '@Url.Action("orders")',
type: "post",
success: function (data) {
var mappedOrders = $.map(data, function (item) { return new Order(item) });
self.orders(mappedOrders);
}
})
}
マッピングプラグインを使用してビューモデルにorders配列を生成し、計算された監視可能な「FullName」をorders配列に挿入することは可能ですか?