未捕获的TypeError:无法读取属性' isLegacyViewHelper'未定义的

时间:2015-09-02 10:07:41

标签: ember.js

当我在当地工作时,我没有任何问题,但是当我使用产品时,它给了我这个错误。我已经搜索了很长时间。 错误发生在脚本vendor.js。

告诉我你是否想要一些代码来理解。我不知道我需要显示哪个文件。

由于

编辑1:

function registerHandlebarsCompatibleHelper(name, value) {
if (value && value.isLegacyViewHelper) {
  _emberHtmlbarsKeywords.registerKeyword(name, function (morph, env, scope, params, hash, template, inverse, visitor) {
    Ember.assert("You can only pass attributes (such as name=value) not bare " + "values to a helper for a View found in '" + value.viewClass + "'", params.length === 0);

    env.hooks.keyword("view", morph, env, scope, [value.viewClass], hash, template, inverse, visitor);
    return true;
  });
  return;
}

版本: 恩伯:1.13.1 Ember数据:1.13.5

2 个答案:

答案 0 :(得分:1)

由于我犯的错误而发生此错误。 在将项目投入生产之前,我忘了包含一个控制器。

答案 1 :(得分:0)

原因可能是在{{each}}帮助器中使用旧的遗留语法。即使它应该工作,它在我的应用程序中生成渲染错误。当我将它重构为新语法时,它起作用了。因此,我建议根据Ember指南和博客文章更新,重构最新标准的语法。所以,基本上尝试使用:

{{#each model as item}}

而不是:

{{#each model key='id' as |item|}}

如果这对你没有帮助,那么删除你的模板代码以帮助调试它。尝试缩小可能导致这些错误的代码。例如,删除application.hbs中的所有HTMLBars代码,然后查看您的应用是否在生产中工作,如果是,则删除application.hbs中的较少代码并查看其是否有效。通过这种方式,您可以追踪问题。