2016-09-23 2 views
0

У меня есть такой шаблонКак вставить дополнительный элемент в шаблон каждый

<tbody> 
    {{#each topics as |topic|}} 
    {{topic-list-item topic=topic}} 
    {{/each}} 
</tbody> 

Я хочу, чтобы вставить дополнительный элемент в этой визуализации списка шаблонов, что-то вроде этого:

<tbody> 
    {{#each topics as |topic|}} 
    {{#if someCondition}} 
     {{my-list-item}} 
    {{else}} 
     {{topic-list-item topic=topic}} 
    {{/if}} 
    {{/each}} 
</tbody> 

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

Есть ли решение добавить элемент в список рендеринга шаблонов?

UPDATE: Я хочу, чтобы вставить {{my-list-item}} только один раз в визуализации списка, если someCondition верно

ответ

4

Если вы хотите Dislay тему-список-вещь все время, независимо от состояния, то вы можете сделать это путем удаления еще.

<tbody> 
     {{#each topics as |topic|}} 
     {{#if someCondition}} 
      {{my-list-item}} 
     {{/if}} 
     {{topic-list-item topic=topic}}   
     {{/each}} 
    </tbody> 
+0

Он будет вставлять раз размер темы тем "my-list-item', см. Обновление – megas

+0

' someCondition' - зависит от 'темы' или некоторой другой переменной. поэтому вы говорите, что 'someCondition' будет верным для многих тем, но компонент« my-list-item' должен быть включен только один раз – kumkanillam

+0

Возможно, не должно быть никаких условий, просто добавьте дополнительный элемент – megas

1

Я проголосовали предыдущий ответ, но хотел бы добавить еще один общий потребительной случай:

Если вы не против расширения topic-list-item объекта дополнительным свойством (иными словами, если дополнительный шаблон зависит от любого имущества topic-list-item), это будет работать:

<tbody> 
    {{#each topics as |topic|}} 
    {{#if topic.someBooleanProperty}} 
     {{my-list-item}} 
    {{/if}} 
     {{topic-list-item topic=topic}} 
    {{/each}} 
</tbody> 

или (то же самое, что и выше ответ, просто разные структуры)

{{#each topics as |topic|}} 
    {{#if topic.someBooleanProperty}} 
     {{my-list-item}} 
     {{topic-list-item topic=topic}} 
    {{else}} 
     {{topic-list-item topic=topic}} 
    {{/if}} 
    {{/each}} 
</tbody> 
+1

Расширение объекта будет работать, но исправление шаблона выглядит намного проще. – megas

+0

О, я также вижу, что вы обновили вопрос. В таком случае мой ответ уже недействителен. – Pavol

Смежные вопросы