Как я могу получить KnockBack CollectionObvservables как KnockOut observableArrays?
Я использую KnockBack (w/ KnockOut & BackBone) и у меня возникают проблемы при получении значений KB CollectionObservable (CO) в том же формате, что и ObservableArrays KO. Это, конечно, основная сущность KB - я могу использовать модели BB с привязкой данных KO; Вот почему я так удивлен, что не могу получить / использовать один и тот же синтаксис для предоставления данных привязке данных.
Учтите следующее:
x = ko.observableArray([[1,2],[3,4]])
//x() == [Array[2], Array[2]]
y = kb.collectionObservable(new Backbone.Collection([[1,2],[3,4]]))
// y() == [ViewModel, ViewModel]
Итак, если у меня есть такой kb.collectionObservable, как я могу легко извлечь его значения в виде массива массивов для использования с KO-совместимыми API?
1 ответ
ko.computed
который зацикливается на kb.collectionObservable
y()
с ko.utils.arrayForEach
Преобразование объектов в массивы и упаковка их в массив может помочь.