マッピングプラグインで生成された配列に計算オブザーバブルを手動で挿入することはできますか?ここでは、マッピングプラグインを使用しない例がありますが、それを使用できるかどうかを知りたいと思います。ko.mappingプラグインで生成されたobservableArrayにノックアウト演算オブザーバブルを挿入
私は、サーバーから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配列に挿入することができますか?
ありがとうございました、これは役に立ちます。しかし、データの1つのプロパティ(つまり、children - > nameLength)から計算された観測値を作成する方法は、この方法からしかわかりません。 2つ以上のプロパティから計算された観測値を作ることはどのように可能ですか? –
申し訳ありませんが、私は昨夜外出していましたので、今まであなたのフォローアップの質問を見ていませんでした。あなたはそれが最後にソートされてうれしいです。技術的には、私はあなたが完全に尋ねた質問に答えたと言いたいので、アップヴォートがそれほど受け入れられないと思ったでしょう! –