Meteor 何时创建模板?
例如,我有一个列表,它有页眉、正文、页脚,正文有项目 所以我创造了这样的东西Meteor 何时创建模板?,meteor,Meteor,例如,我有一个列表,它有页眉、正文、页脚,正文有项目 所以我创造了这样的东西 <template name="List"> {{> ListHeader}} {{> ListBody data}} {{> ListFooter}} </template> <template name="ListBody"> <div class="list-body"> {{#each items}} {{> ListI
<template name="List">
{{> ListHeader}}
{{> ListBody data}}
{{> ListFooter}}
</template>
<template name="ListBody">
<div class="list-body">
{{#each items}}
{{> ListItem data}}
{{/each}}
</div>
</template>
然后在Template.List.helpers
中,再次定义showEdit
,并将其传递给ListBody
Template.List.helpers({
showEdit: return this.showEdit:
})
{{> ListBody showEdit=showEdit showDelete=true}}
再次在ListBody中定义showEdit并将其传递给ListItem
Template.ListBody.helpers({
showEdit: return this.showEdit:
})
{{> ListItem showEdit=showEdit showDelete=true}}
所以我觉得我做错了什么。也许我不应该创建这么多模板?
把它们放在一个地方
我应该什么时候创建模板?最佳做法是什么?这只是个人喜好。我认为创建像您这样多的模板没有问题。你为什么写你认为你做错了什么 正如您已经了解到的,单独的模板可能会有不同的数据上下文,这可能会造成混乱/混乱。然而,在许多情况下,这是可取的,并且可以使代码更易于维护和可读 如您的示例所示:
{{#each items}}
{{> listItem}}
{{/each}}
在这种情况下,将为数组中的每个项自动设置传递到listItem
的数据上下文。(注意,这样做不需要传递数据
),因此在这里使用新模板是有意义的
使用单独模板的另一个原因是可重用性。随着项目的发展,这一点变得越来越重要,提前尝试和思考哪些元素可以在其他地方重用会有很大帮助
如图所示,调用模板时可以将数据传递到模板中。这既不好也不坏,但我会小心做得太多,因为这可能会导致过于复杂的事情。一般来说,您需要干净、模块化的模板,当您查看它们时,这些模板是有意义的,而不是让您四处寻找,试图找出它们为什么没有达到您期望的效果
为此,请看一看。这些组合可以将模板转化为强大的模块化组件。我是根据经验说的,当我说你以后会感谢自己养成了这样构建模板的习惯
最后,解决这个问题的最好方法是四处玩一玩,浏览其他项目,看看他们做了什么。警告一句:围绕模板结构的最佳实践随着Meteor的成长而改变,因此一些在线建议可能不会利用更新、更好的方法
{{#each items}}
{{> listItem}}
{{/each}}