{{outlet}}、{{yield}}、{{render}}和{{partial}}的Ember助手之间的区别

15
我对这些Ember助手感到相当困惑。 有人可以深入浅出地解释一下它们之间的区别吗?

这是一个重复的问题吗?我找不到出口产量和部分的解释。 - eded
把以下與編程有關的內容從英文翻譯成中文。僅返回翻譯後的文字內容,不要對其進行解釋。 - Aman Chhabra
1个回答

8

如评论中所提到的,这个问题已经在其他问题中得到了回答。剩下的答案可以在文档中找到。请查看下面的细节,如果还有疑问,请告诉我。

以下是解释:

{{outlet}} -> 这将提供一个存根/挂钩/点,您可以在其中呈现组件(控制器+视图)。人们会使用路由的渲染方法来使用它。在你的情况下,你可能会有一个详情路由,它可能像这样。这将把DetailsController和DetailsView呈现到index模板的“detailsOutlet”中。

{{yield}} -> 表示模板中将被呈现在另一个模板中的区域

{{render}} -> 在此处呈现NavigationController和NavigationView。这个助手适用于控制器和视图不改变的地方,比如导航。

{{partial}} -> partial助手呈现另一个模板,而不改变模板上下文:

{{foo}}
{{partial "nav"}}

以上示例模板将呈现名为“nav”的模板,其上下文与渲染它的父模板相同,因此如果“nav”模板还引用了{{foo}},则会打印与上面示例中的{{foo}}相同的内容。

如果找不到“_nav”模板,则partial助手将退回到名为“nav”的模板。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接