【问题标题】:TypeError in assemble helpers汇编助手中的 TypeError
【发布时间】:2013-11-07 11:50:44
【问题描述】:

尽管没有在模板中使用过滤器助手,但 TypeError 会阻止组装完成。看起来options 参数没有被传递或作为undefined 传递。

这是堆栈跟踪:

Warning: Cannot read property 'data' of undefined Use --force to continue.
TypeError: Cannot read property 'data' of undefined
    at Object.helpers.filter (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars-helpers/lib/helpers/helpers-collections.js:357:15)
    at Object.eval (eval at <anonymous> (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/compiler/compiler.js:564:23), <anonymous>:41:50)
    at Object.<anonymous> (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/runtime.js:30:33)
    at Object.search (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/compiler/compiler.js:1274:21)
    at Object.Handlebars.VM.invokePartial (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/runtime.js:81:28)
    at Object.eval (eval at <anonymous> (/home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/compiler/compiler.js:564:23), <anonymous>:86:17)
    at /home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/runtime.js:30:33
    at /home/tim/workspace/projects/severine/node_modules/assemble/node_modules/assemble-handlebars/node_modules/handlebars/lib/handlebars/compiler/compiler.js:1274:21
    at Object.render (/home/tim/workspace/ae_projects/severine/node_modules/assemble/node_modules/assemble-handlebars/index.js:38:17)
    at Object.render (/home/tim/workspace/projects/severine/node_modules/assemble/lib/engine.js:87:17)

Aborted due to warnings.

如果我注释掉过滤器函数的主体,则汇编运行正常。

【问题讨论】:

    标签: javascript handlebars.js typeerror templating assemble


    【解决方案1】:

    @tim 我们通常会在数据上下文中的属性名称和车把助手发生冲突时看到这些错误。

    如果您在数据上下文中将filter 作为属性,请尝试使用{{this.filter}} 而不是{{filter}} 来提示Handlebars 它应该使用该属性而不是助手。

    这个问题来自this issue on Github。我希望这可以帮助其他遇到同样问题的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2011-09-26
      • 2011-10-14
      • 1970-01-01
      相关资源
      最近更新 更多