knockoutjs: привязка к наблюдаемому свойству вне массива в шаблоне - PullRequest
0 голосов
/ 10 ноября 2011

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

Это jsfiddle: http://jsfiddle.net/mgxyE/2/компактно иллюстрирует то, что я пытаюсь выполнить.

span <span data-bind='text: message'></span> - это то, что терпит неудачу, потому что я не могу понять, как установить эту привязку внутри шаблона.Любая помощь?

Ответы [ 2 ]

3 голосов
/ 10 ноября 2011

Если ваша view-модель имеет глобальную область действия, вы можете просто сделать:

<span data-bind='text: model.message'></span>

В скрипте вы можете изменить параметр с onLoad на no wrap (body) для загрузки JavaScript..

Другой вариант - передать значение через templateOptions.Это будет выглядеть так:

<div data-bind='template: {name :"nodeTemplate", foreach: nodes, templateOptions: { myMessage: message} }'></div>

Затем, привязать к нему, как (вы могли бы назвать это сообщение, просто используйте myMessage, чтобы показать, откуда исходит имя):

<span data-bind='text: $item.myMessage'></span>

Наконец, если вы используете KO 1.3 beta , что я бы порекомендовал, то вы можете просто сделать:

<span data-bind='text: $root.message'></span>
1 голос
/ 10 ноября 2011

В Knockout JS 1.3 вы можете использовать родительский контекст привязки:

http://jsfiddle.net/Afx6d/

...