我想创建一个简单的Handlebars帮助器来输出绑定变量的JSON表示(文件:app/helpers/json.js
):
import Ember from 'ember';
export function json(input) {
return JSON.stringify(input);
}
export default Ember.Handlebars.makeBoundHelper(json);
然后我会在虚拟应用程序application.hbs
中使用此助手,如下所示:
{{json myArray}}
不幸的是,当我这样做时,我收到以下错误:
未捕获错误:把手错误:无法找到属性' json'对象
我想解决方案出了问题......我怀疑它与我在插件中使用Dummy应用程序的事实有关。我确实尝试将帮助程序移动到/tests/dummy/app/helpers
,希望这可以修复它,但它似乎对错误消息没有影响。
答案 0 :(得分:2)
自定义助手需要have a dash in their name to be loaded automatically:
将自动加载的助手限制为包含破折号的助手是Ember做出的明确决定。它有助于消除助手的属性歧义,并有助于降低所有绑定的助手解析性能。
如果需要,可以解释如何加载非破折号帮助程序。对于您的示例,您需要将其添加到app.js
:
import jsonHelper from './helpers/json';
Ember.Handlebars.registerBoundHelper('json', jsonHelper);