Привет Борис,
Я передаю в шаблон следующее
{'items': items, rank: true}
items - это массив объектов
В моем шаблоне у меня есть
{{для товаров}}
{{if (рейтинг)}} {{: # index}} {{/ if}}
{{/для}}
Но похоже, что переменная "rank" ничего не делает.
Внутри {{for items}} контекст данных (текущий элемент данных) является элементом массива items.
Итак, вы тестируете элемент с item.ranked == true. Но ваше ранжированное свойство находится на объекте, у которого есть свойство items, а не на элементе. Может ты хочешь
{{for items}}
{{if #parent.parent.data.ranked)}}{{:#index}}{{/if}}
{{/for}}
Другой подход, который вы можете использовать, - создать переменную шаблона, которая копирует ранжированное свойство и делает его доступным для вложенных шаблонов через контекст шаблона:
{{for items ~isRanked=ranked}}
{{if ~isRanked)}}{{:#index}}{{/if}}
{{/for}}
Свойства данных не отображаются автоматически во вложенных контекстах. (В JsRender нет блока with (data) {}
). Но параметры шаблона предоставляют лучший способ включить отображение переменных во вложенных контекстах ...
У меня есть jquery datatable, где я показываю дочерние строки с помощью js render. Для обоих столбцов в таблице данные поступают из двух разных массивов. Итак, как мне разбить данные на 2 отдельные строки, которые в настоящее время отображаются в виде списка, разделенного запятыми
@ Krish2215 : Это для сообщений об ошибках и других проблемах, а не для общих справочных вопросов. Вы можете попробовать stackoverflow https://stackoverflow.com/questions/tagged/jsrender. Но вам нужно будет указать гораздо более конкретный контекст и, в идеале, jsfiddle, чтобы показать вашу точную сложность ....
Самый полезный комментарий
Внутри {{for items}} контекст данных (текущий элемент данных) является элементом массива items.
Итак, вы тестируете элемент с item.ranked == true. Но ваше ранжированное свойство находится на объекте, у которого есть свойство items, а не на элементе. Может ты хочешь
Другой подход, который вы можете использовать, - создать переменную шаблона, которая копирует ранжированное свойство и делает его доступным для вложенных шаблонов через контекст шаблона:
Свойства данных не отображаются автоматически во вложенных контекстах. (В JsRender нет блока
with (data) {}
). Но параметры шаблона предоставляют лучший способ включить отображение переменных во вложенных контекстах ...