所以我已经从here https://github.com/danharper/Handlebars-Helpers并修改它,以便它使用 registerBoundHelper 通过 Ember 注册它的助手
我这样做的原因是因为我基本上需要一个基于车把的“switch”语句。我的车把的最终结果如下:
{{#is MyProperty 1}}
...Do something here...
{{/is}}
{{#is MyProperty 2}}
...Do something here...
{{/is}}
{{#is MyProperty 3}}
...Do something here...
{{/is}}
{{#is MyProperty 4}}
...Do something here...
{{/is}}
is 语句只是在 'MyProperty' 之间进行简单的比较value和一个常数。
如果我不使用“registerBoundHelper”,MyProperty 将作为字符串文字“MyProperty”传递,而不是它value.
Now: 当我实际运行它时,这个逻辑似乎有效
问题是 Ember 抛出以下错误:
registerBoundHelper-generated helpers do not support use with Handlebars blocks.
我是否应该忽略此错误并继续,因为它似乎确实有效?或者我应该尝试重新设计逻辑以不使用块?
你不应该忽略它,因为它不受支持,如果MyProperty
如果在渲染发生后进行更改,它将中断。
ember 车把不支持条件助手(导致我们很多人死亡)。原因是核心团队希望将此逻辑作为计算属性而不是模板中的逻辑。
IE
控制器
App.IndexController = Em.ObjectController.extend({
isPropertyOne: Em.computed.equal('myProperty', '1')
});
Template
{{#if isPropertyOne}}
any template stuff
{{render 'something'}}
{{someValue}}
{{/if}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)