我对这些Ember助手感到相当困惑。 有人可以深入浅出地解释一下它们之间的区别吗?
如评论中所提到的,这个问题已经在其他问题中得到了回答。剩下的答案可以在文档中找到。请查看下面的细节,如果还有疑问,请告诉我。
以下是解释:
{{outlet}} -> 这将提供一个存根/挂钩/点,您可以在其中呈现组件(控制器+视图)。人们会使用路由的渲染方法来使用它。在你的情况下,你可能会有一个详情路由,它可能像这样。这将把DetailsController和DetailsView呈现到index模板的“detailsOutlet”中。
{{yield}} -> 表示模板中将被呈现在另一个模板中的区域
{{render}} -> 在此处呈现NavigationController和NavigationView。这个助手适用于控制器和视图不改变的地方,比如导航。
{{partial}} -> partial助手呈现另一个模板,而不改变模板上下文:
{{foo}}
{{partial "nav"}}
以上示例模板将呈现名为“nav”的模板,其上下文与渲染它的父模板相同,因此如果“nav”模板还引用了{{foo}},则会打印与上面示例中的{{foo}}相同的内容。
如果找不到“_nav”模板,则partial助手将退回到名为“nav”的模板。