If statement 余烬、把手和共享条件
我有一个具有多个路由的应用程序,每个模板中都有一些元素应该显示(或隐藏)-使用相同的条件,因此我创建了一个If statement 余烬、把手和共享条件,if-statement,ember.js,handlebars.js,conditional-statements,If Statement,Ember.js,Handlebars.js,Conditional Statements,我有一个具有多个路由的应用程序,每个模板中都有一些元素应该显示(或隐藏)-使用相同的条件,因此我创建了一个Central控制器,在其中声明条件,然后覆盖每个控制器中的方法,如(伪代码): 因此,在车把模板中,我可以像以下那样使用它: {{#if canEdit}} [Edit Button] {{/if}} 无论如何,条件计数会增加,我需要在每个控制器中超越每个条件方法,这不是最优的 问题:如何在直接指向中央控制器的视图中使用这些条件 维森: 余烬:1.1.2 把手:1.0.0 只需
Central
控制器,在其中声明条件,然后覆盖每个控制器中的方法,如(伪代码):
因此,在车把模板中,我可以像以下那样使用它:
{{#if canEdit}}
[Edit Button]
{{/if}}
无论如何,条件计数会增加,我需要在每个控制器中超越每个条件方法,这不是最优的
问题:如何在直接指向中央控制器的视图中使用这些条件
维森:
- 余烬:
1.1.2
- 把手:
1.0.0
只需向控制器添加别名,并在视图中使用点路径即可:
App.DetailsController = Ember.Controller.extend({
needs: ['central'],
central: Ember.computed.alias('controllers.central')
});
{{#if central.canEdit}}
[Edit Button]
{{/if}}
只需向控制器添加别名并在视图中使用点路径:
App.DetailsController = Ember.Controller.extend({
needs: ['central'],
central: Ember.computed.alias('controllers.central')
});
{{#if central.canEdit}}
[Edit Button]
{{/if}}
请记住,您也可以在get
&set
中使用点路径,这很有帮助——这是Ember的下一步遗产的一部分。节省了大量的输入--特别是当链的任何部分为空时,您需要空值,这对您来说就足够了。小心德米特;)这就是我所缺少的知识;)顺便说一句,thx这种方法对性能有重大影响吗?我还没有对其进行基准测试。我怀疑这是否有意义,只要您没有创建相互依赖的属性,而这些属性需要多次传递才能解析,这是使用时必须注意的。在手动构造链的过程中,在get
/set
中使用点路径的唯一开销是初始字符串拆分。请记住,您也可以在get
&set
中使用点路径,这是Ember下一步遗留的一部分。节省了大量的输入--特别是当链的任何部分为空时,您需要空值,这对您来说就足够了。小心德米特;)这就是我所缺少的知识;)顺便说一句,thx这种方法对性能有重大影响吗?我还没有对其进行基准测试。我怀疑这是否有意义,只要您没有创建相互依赖的属性,而这些属性需要多次传递才能解析,这是使用时必须注意的。使用get
/set
中的点路径手动构建链的唯一开销是初始字符串拆分。