Как указать контекст привязки данных представления при использовании нескольких моделей представлений - PullRequest
1 голос
/ 26 февраля 2012

Давайте предположим, что у нас есть несколько ViewModel с такими же именами свойств, как Id, Name, также мы определили шаблон представления (в основном HTML) и хотим использовать / связать данные из обеих моделей представления.

Вопрос в том, как указать связывающий контекст данных, чтобы можно было указать, из какой модели представления использовать связанные свойства?

1 Ответ

2 голосов
/ 26 февраля 2012

Как отмечено в http://knockoutjs.com/documentation/observables.html,, при желании вы можете передать второй параметр в ko.applyBindings, чтобы определить, какую часть документа вы хотите найти для атрибутов привязки данных.Например, ko.applyBindings(myViewModel, document.getElementById('someElementId')).Это ограничивает активацию для элемента с идентификатором someElementId и его потомками, что полезно, если вы хотите иметь несколько моделей представлений и связывать каждую с отдельным регионом страницы.1007 * привязка введена в версии 1.3+, которая отображает DOM на основе определенного свойства viewModel.Это хорошо, потому что, если свойство имеет значение null, ничего не отображается вообще.Стив поделился живым примером этой функции на http://jsfiddle.net/StevenSanderson/f5w6u/3/light/

...