Ember帮助虚拟测试应用程序

时间:2015-01-17 21:21:59

标签: ember.js ember-cli

我想创建一个简单的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,希望这可以修复它,但它似乎对错误消息没有影响。

1 个答案:

答案 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);