2014-12-21 4 views
0

Итак, я создаю свое первое приложение с метеор, и мне кажется, что я повторяю свои шаблоны больше, чем должен.Как избежать дублирования шаблонов в Meteor?

У меня есть несколько родительских представлений, примером которых является просмотр контактов с пользователем, а также просмотр элементов группы. (Упрощенные примеры ниже.)

<template name="GroupMembers"> 
    {{#each contacts}} 
     {{> contact }} 
    {{/each}} 
</template> 

<template name="contacts"> 
    {{#each contacts}} 
     {{> contact }} 
    {{/each}} 
</template> 

<template name="contact"> 
    //... single contact template stuff 
</template> 

Когда контакт отображается в списке контактов, я хочу, чтобы отобразить удалить из контактов связать в одном шаблоне контакта, но в списке членов группы я, как ' добавьте в группу ссылку на свое место. Я знаю, что, возможно, я мог бы достичь этого с помощью переменных сеанса или путем вызова контроллера железа-маршрутизатора obj, но я хотел бы знать, есть ли простой способ сделать это в помощнике шаблонов. Или иначе, могут ли эти частичные части шаблона стать контекстом?

Любая помощь будет отличной.

Спасибо.

ответ

2

я бы решить это следующим образом:

<template name="GroupMembers"> 
    {{#each contacts}} 
     {{> contact groupMembers=true}} 
    {{/each}} 
</template> 

<template name="contacts"> 
    {{#each contacts}} 
     {{> contact }} 
    {{/each}} 
</template> 

<template name="contact"> 
    <p> 
     {{#if groupMembers}} 
     {{../name}} 
     <button>add to group</button> 
     {{else}} 
     {{name}} 
     <button>delete</button> 
     {{/if}} 
    </p> 
</template> 

Live Demo: http://meteorpad.com/pad/LDTvHC787kJ6e9JQA/Leaderboard

+0

спасибо Томас. Это в значительной степени то, что я искал, я новичок в этом, думая об этом. Ура! – pushplaybang