У меня есть следующий код:
function Session(name, index) {
this.Messages = [];
this.Name = name;
this.Index = index;
}
var vm = {};
vm.Sessions = ko.observableArray([new Session("Foo", 0), new Session("Bar", 1)]);
ko.applyBindings();
vm.Sessions()[0].Messages.push("Hello foo");
Вдоль этого представления:
<div data-bind="template: {name: 'TopTemplate', foreach: Sessions}">
</div>
<script type="text/html" id="TopTemplate">
<p>
${$data.Name}
<ul data-bind="template: {name: 'NestedTemplate', foreach: Sessions[${$data.Index}]}"></ul>
</p>
</script>
<script type="text/html" id="NestedTemplate">
<li>
${$data}
</li>
</script>
Как видите, есть объект с содержащим массивом.Поэтому я делаю наблюдаемый массив сессий, и он становится видимым, включая внутренние свойства.Здесь я хочу отобразить вложенные «повторители».
Вчера мне как-то удалось выполнить этот скрипт.А что интересно без указания имени свойства, т.е. Sessions[${$data.Index}].Messages
.К сожалению, я удалил этот тестовый скрипт.
Теперь я попытался воссоздать, и это не работает.
PS.Дело в том, что я не хочу, чтобы это работало без показа соответствующей собственности.Я просто хочу заставить работать вложенный шаблон.