Почему шаблон не отображает данные модели?

У нас есть шаблон, который перебирает ключи в подобъекте модели данных. Если подобъект представляет собой массив, он работает нормально. Если подобъект является картой, это не так. Данные не отображаются. Как будто ключей нет. Важно отметить, что элементы массива или ключи карты добавляются динамически. Наблюдатели, добавленные в модель, работают правильно независимо от того, назначены ли они ключам карты или индексам массива с подстановочными знаками. И проверка данных показывает, что все ожидаемые элементы действительно присутствуют.

Это ожидаемое поведение? В документах Ractive есть примечание о том, что он может реагировать только на уже существующие ключи.

Если это не ожидаемое поведение, есть ли номер ошибки, который я могу отследить? Я не могу найти его на основе поиска GitHub.

Спасибо!


person AnyWhichWay    schedule 25.09.2015    source источник
comment
Можете ли вы предоставить небольшую демонстрацию для этого?   -  person Joseph    schedule 25.09.2015
comment
Вот демонстрация поведения JS Fiddle: jsfiddle.net/pc94L28x/5   -  person AnyWhichWay    schedule 25.09.2015


Ответы (1)


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

{{#each entities[name]}}
  <li>{{title}}</li>
{{/each}}

См. демонстрацию: http://jsfiddle.net/Lj3wmega/

Вы также можете указать блоку :key, чтобы сообщить Ractive, что вы хотите выполнить итерацию (или, в случае #each, чтобы получить доступ к значению ключа):

{{#entities[name]:key}}
    <li>id: {{key}} title: {{title}}</li>
{{/}}
person Rich Harris    schedule 25.09.2015
comment
Спасибо, Марти и Рич... написали 1000 строк кода Ractive. Я бы подумал, что должен был столкнуться с этим раньше ... или, по крайней мере, смог понять это. - person AnyWhichWay; 26.09.2015