В этой статье описывается jsrender для индекса цикла индекса. Поделитесь этим для вашей ссылки. Конкретный анализ заключается в следующем:
JSredner и JSViews (JSViews - это дальнейшая инкапсуляция, основанная на JSRENDER), называются следующим поколением шаблонов JQUERY, официальный адрес:
https://github.com/borismoore/jsrender;
https://github.com/borismoore/jsviews.
Петли являются неотъемлемой частью шаблонного двигателя, и когда дело доходит до петли, вводится решающий фактор: индексация.
Так называемый индекс-это количество петель. Через индекс вы можете получить текущий цикл, сколько раз это.
Если читатели прочитали официальный документ, они увидят следующие способы получить индекс:
данные:
Скопируйте код следующим образом: {
Имена: [«Марадона», «Пеле», «Роналду», «Месси»]
}
Шаблонная разметка:
Скопируйте код следующим образом: {{для имен}}
<div>
<b> {{: #index+1}}. </b>
<pan> {{: #data}} </span>
</div>
{{/для}}
результат:
Скопируйте код следующим образом: 1. Марадона
2. Пеле
3. Роналду
4. Месси
Индекс может быть получен в цикле специальным буквальным #index, который эквивалентен этому, и в этом случае представляет каждое имя.
Далее, давайте сделаем несколько трюков и пример выше, но на этот раз я надеюсь отобразить только имена, начиная с M:
данные:
Скопируйте код следующим образом: {
Имена: [«Марадона», «Пеле», «Роналду», «Месси»]
}
Шаблонная разметка:
Скопируйте код следующим образом: {{для имен}}
{{if #data.indexof ("m") == 0}}
<div>
<b> {{: #index+1}}. </b>
<pan> {{: #data}} </span>
</div>
{{/если}}
{{/для}}
результат:
Скопируйте код следующим образом: недоступен (вложенное представление): используйте #getindex () 1. Марадона
Недоступно (вложенное представление): используйте #getindex () 1. Месси
Я просто добавил суждение, и это фактически сообщило об ошибке!
Проблема заключается в #index. Сообщение об ошибке очень ясно. Вы можете использовать #getindex () вместо #index.
Попробуйте заменимый код:
данные:
Скопируйте код следующим образом: {
Имена: [«Марадона», «Пеле», «Роналду», «Месси»]
}
Шаблонная разметка:
Скопируйте код следующим образом: {{для имен}}
{{if #data.indexof ("m") == 0}}
<div>
<b> {{: #getIndex ()+1}}. </b>
<pan> {{: #data}} </span>
</div>
{{/если}}
{{/для}}
результат:
Скопируйте код следующим образом: 1. Марадона
4. Месси
Почему это? Проще говоря, это потому, что, хотя {{if}} не создает обычную область данных, он мешает скрытой области. То есть {{if}} не будет блокировать видимость обычных данных (данные, которые вы передаете), но будут мешать видимости скрытых данных (#index, #parent). Это простое понимание, и нет необходимости входить в него, потому что это просто недостаток этой структуры, а не стандарт.
Следовательно, эта статья дает читателям важный вывод: попробуйте использовать #GetIndex (), чтобы получить индекс и избежать использования #Index, если только ваше приложение не достаточно простое.
Я надеюсь, что эта статья будет полезна для обучения каждого JSrender.