Ember.js ember-模板条件的上下文

Ember.js ember-模板条件的上下文,ember.js,Ember.js,模板或组件中if语句的上下文是什么 {{#if showBackButton}} <div>....</div> {{/if}} 及 及 没有运气。如果答案是控制器,那么所有模板是否都可以访问应用程序控制器中的此类属性,或者我是否必须在每个控制器中定义它们 我想与ember 2.0兼容 对于这个基本问题,我深表歉意,但我已经阅读了余烬文档,它没有解决这个基本问题 如果在正确的控制器中定义属性: showBackButton: true 然后您可以在路线模板中访问

模板或组件中if语句的上下文是什么

{{#if showBackButton}}
   <div>....</div>
{{/if}}

没有运气。如果答案是控制器,那么所有模板是否都可以访问应用程序控制器中的此类属性,或者我是否必须在每个控制器中定义它们

我想与ember 2.0兼容


对于这个基本问题,我深表歉意,但我已经阅读了余烬文档,它没有解决这个基本问题

如果在正确的
控制器中定义属性

showBackButton: true
然后您可以在
路线
模板中访问它:

{{showBackButton}} // true

如果If语句在组件模板中,则
showBackButton
必须是组件的属性。组件无法从应用程序路由或控制器中找到此属性

在您的情况下,您需要通过其他路由更改此属性,这样您就可以在应用程序中拥有此属性,然后将该属性传递给组件。从其他路由,您可以获取应用程序控制器并修改属性。(或)只需将属性注入所有管线和组件即可


要在控制器中定义属性,
showBackButton:true

这显然是一个简单的例子。我的情况稍微复杂一点。我有一个用于许多路线的组件。上下文是否只是组件代码?或者我可以访问路由器/路由中的属性吗?或者我必须在每个路由的控制器中实现属性,还是可以对所有路由使用应用程序控制器?谢谢!这是有道理的,我成功了!我发现同样的上下文限制也适用于组件操作。幸运的是,这里很好地解释了这一点:
showBackButton() {
    return true;
}),
showBackButton: true
{{showBackButton}} // true