Возможно ли вручную вставить вычисленное наблюдаемое в массив, который генерируется с помощью плагина сопоставления? Вот пример, который не использует плагин сопоставления, но я хотел бы знать, может ли он его использовать.Вставка нокаута, вычисленного в наблюдаемом массиве, который генерируется с помощью плагина ko.mapping
Допустим, у меня есть данные в формате 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);
}
})
}
Можно ли использовать отображение плагин генерировать массив заказов на модели представления, а также иметь возможность вставлять вычисленное наблюдаемое «полное имя» в массив заказов?
Спасибо, это полезно. Но я вижу только, как сделать вычисленное наблюдаемое из одного свойства данных (т. Е. Children -> nameLength). Как можно было бы вычислить наблюдаемые из двух или более свойств? –
Прости, вчера вечером я отсутствовал, поэтому до сих пор не видел вашего последующего вопроса. Рад, что вы его отсортировали в конце. Технически, однако, я бы сказал, что я ответил на вопрос, который вы просили полностью, поэтому я бы подумал, что верхняя часть была наименее заслуженной! –