{{outlet}},{{yield}},{{render}}和{{partial}}的余烬助手之间有所不同

ede*_*ded 11 javascript ember.js

我对这些余烬助手很困惑.任何人都可以用"更容易"的方式深入解释它们之间的差异吗?

Ama*_*bra 5

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

这是解释:

{{outlet}} - >这将提供一个存根/钩子/点,您可以在其中呈现组件(控制器+视图).可以将其与路由的render方法一起使用.在您的情况下,您可能会有一个细节路线,看起来像这样.这会将带有DetailsView的DetailsController呈现到索引模板的outlet'detailsOutlet'中.

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

{{render}} - >在这个地方渲染NavigationController和NavigationView.这是辅助对于控制器和视图不会改变的地方有用,例如导航.

{{partial}} - >部分帮助器在不更改模板上下文的情况下呈现另一个模板:

{{foo}}
{{partial "nav"}}
Run Code Online (Sandbox Code Playgroud)

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

如果未找到"_nav"模板,则部分帮助程序将回退到名为"nav"的模板.