【问题标题】:How can I avoid duplicate templates in Meteor?如何避免 Meteor 中的重复模板?
【发布时间】:2015-02-19 18:30:39
【问题描述】:

所以我正在使用流星构建我的第一个应用程序,我觉得我在重复自己的模板比我应该做的更多。

我有多个父视图,其中一个示例是用户联系人视图和添加组成员视图。 (下面的简化示例。)

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

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

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

当联系人显示在联系人列表中时,我想在单个联系人模板中显示从联系人中删除的链接,但在组成员列表中,我想在其位置添加一个“添加到组”链接。我知道我可能可以通过会话变量或调用 Iron-router 控制器 obj 来实现这一点,但我想知道在模板助手中是否有一种简单的方法可以做到这一点。或者换一种方式,这些模板部分是否可以成为上下文感知的?

任何帮助都会很棒。

谢谢。

【问题讨论】:

    标签: meteor meteor-blaze spacebars meteor-helper


    【解决方案1】:

    我会这样解决:

    <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>
    

    现场演示:http://meteorpad.com/pad/LDTvHC787kJ6e9JQA/Leaderboard

    【讨论】:

    • 感谢托马斯。这几乎正​​是我正在寻找的东西,我是新人,我想太多了。干杯!
    猜你喜欢
    • 2017-08-05
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多