1

У меня есть array, который исходит из моей модели в View, я хочу, чтобы преобразовать этот массив, имеющий имя FilterListOptions в observable type Array? Как я могу это достичь?Преобразование массива в наблюдаемый массив

+0

Вы хотите инициализировать наблюдаемый массив с простым массивом? –

+0

Я хочу преобразовать массив, который моя модель отправляет для просмотра в наблюдаемый массив. –

+0

Вы можете передать массив вызову ko.observableArray для его инициализации. ko.observableArray (arr) –

ответ

0

Нокаутные модели должны иметь наблюдаемый массив (не массив), если вы хотите иметь полные привязки.
Но если вы хотите ограниченным связывание вы можете использовать простые объекты:

Из документации стоимости привязки:
Если используется значение, чтобы связать элемент формы к ненаблюдаемой собственности (например, обычная старая строка, или произвольное выражение JavaScript), KO будет делать следующее:

  • Если вы ссылаетесь простое свойство, то есть, это просто обычный свойство на вашей модели представления, KO будет установлено начальное состояние элемента формы в значение свойства, и когда элемент формы отредактирован, KO внесет изменения в вашу собственность. Он не может обнаружить, когда изменяется свойство (потому что оно не наблюдается), так что это всего лишь 1-сторонняя привязка.

    Если вы ссылаетесь то, что это не простое свойство, например, результат операции вызова функции или сравнения, KO будет установлено начальное состояние элемента формы к этому значению, но он не сможет писать любые изменения, когда пользователь редактирует элемент формы. В этот случай является одноразовым установщиком значений, а не постоянным привязкой , который реагирует на изменения.

Чтобы просто обернуть массив, наблюдаемом массивом сделать это следующим образом:

var some_object = { myarray: [1,2,3] }; 
some_object.myarray = ko.observableArray(some_object.myarray); 
+0

Позвольте мне проверить это –

+0

Я не работаю. –

+0

Вы видите какую-либо проблему? –

Смежные вопросы