Ember.js EmberJS:自定义模板帮助器及其依赖项的问题

Ember.js EmberJS:自定义模板帮助器及其依赖项的问题,ember.js,Ember.js,我定义了一个自定义模板帮助器,类似于它们显示的内容 然而,每次我加载页面时,都会出现一个奇怪的错误: Uncaught TypeError: Cannot read property '0' of null 我试图找到它,我想知道它是否可能是一个背景问题。事实上,当我闯入Ember.handlebar.registerBoundHelper时,我可以看到它试图注册“firstName”和“lastName”的观察者没有正确的路径。它们是“.firstName”和“.lastName”,它们没

我定义了一个自定义模板帮助器,类似于它们显示的内容

然而,每次我加载页面时,都会出现一个奇怪的错误:

Uncaught TypeError: Cannot read property '0' of null 
我试图找到它,我想知道它是否可能是一个背景问题。事实上,当我闯入Ember.handlebar.registerBoundHelper时,我可以看到它试图注册“firstName”和“lastName”的观察者没有正确的路径。它们是“.firstName”和“.lastName”,它们没有任何意义

你知道会发生什么事吗

此外,我还应添加:如果删除依赖项:

Ember.Handlebars.registerBoundHelper('fullName', function(person) {
  return person.get('firstName') + ' ' + person.get('lastName');
});
我可以打断我的助手。当我在控制台中执行person.toString()时,它看起来“正常”(具有正确的ID等),然而,当我执行person.get('firstName')时,我会得到null,就好像记录没有完全加载一样。奇怪

谢谢


PJ

以防它帮助其他人:这是一个上下文问题。这有点奇怪,因为助手中的“person”实际上是App.person。但我尝试了各种上下文转换,结果都成功了(可能是因为我在master上?)。因此,如果您遇到类似这样的奇怪行为,您可能需要仔细检查您正在传递给帮助者的上下文。

此错误是一个错误(),我为其提供了修复:

此错误是由把手助手上的
引起的。
例如,如果您有这样的模板:

{{someHelper this}}

然后,如果您在视图中,您可以使用例如
view.context
,如果您在控制器中,您可以使用
controller
,而不是
this

放一把简单的小提琴可以更容易地找到bug。我知道,而且我总是提供一个。。。但我在这里努力繁殖。它在应用程序中发生得相当“深入”(对象之间有许多关系)。我只是希望得到可能出错的方向,而不是一个明确的答案。对不起,但在这种情况下,没有人能帮上忙。
{{someHelper this}}