У меня есть иерархическая структура в knockoutjs. Эта структура может идти в глубину N, но в повседневном использовании она не пройдет 4 глубины. Это примерно похоже на это.Создайте массив объектов со статусом
var model = function(){
self.Id = ko.observable();
self.Status = ko.observable();
self.Children = ko.oberservaleArray();
}
Я хотел бы создать вычисляемый функцию, которая дает мне плоский список модельных объектов, которые находятся в определенном состоянии.
Я бы сделал это аналогично только для одного уровня.
self.SomeStatus = ko.computed(function() {
ko.utils.arrayMap(self.Children(), function(item) {
if(item.Status() === "SomeStatus")
return item;
});
}
Как это реализовать, чтобы вернуть массив моделей для глубины уровня N, имеющих этот же статус?
Заранее спасибо.
Конечно, просто добавьте фильтр в цикл for, который гарантирует, что он просто нажимает те элементы, которые имеют статус, который вы ищете. –