{{outlet}}、{{yield}、}{render}和{{partial}的ember帮助程序之间存在差异

different between ember helpers for {{outlet}}, {{yield}}, {{render}} and {{partial}}

本文关键字:帮助程序 之间 ember 存在 partial outlet yield render      更新时间:2023-09-26

我对这些ember助手很困惑。有人能以一种"更简单"的方式深入解释它们之间的区别吗?

正如评论中所提到的,它已经在其他问题中得到了回答。文档中提供了剩余的一个。请仔细阅读以下详细信息,如果有疑问,请让我知道。

以下是解释:

{{outlet}}->这将提供一个存根/钩子/点,您可以将组件渲染到其中(控制器+视图)。可以将其用于路由的渲染方法。在你的情况下,你可能会有一个详细的路线,看起来像这样。这会将DetailsView的DetailsController渲染到索引模板的出口"detailsOutlet"中。

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

{{render}->在此位置渲染NavigationController和NavigationView。这是一个很好的助手,适用于控制器和视图不变的地方,例如导航。

{{partial}->partial helper在不更改模板上下文的情况下渲染另一个模板:

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

上面的示例模板将呈现一个名为"nav"的模板,该模板与它所呈现到的父模板具有相同的上下文,因此,如果"naw"模板也引用了{{foo}},它将打印与上面示例中的{{foo}}相同的内容。

如果找不到"_nav"模板,部分助手将返回到名为"nav"的模板。