在带有全局变量的车把模板中使用Ember视图助手

时间:2013-06-19 12:56:21

标签: ember.js handlebars.js grunt-ember-templates

有没有办法在不使用Ember Application全局变量的情况下在把手视图助手中引用Ember视图?在预编译我的把手模板并使用Grunt缩小我的Ember代码后,我收到以下错误。这似乎是因为Ember全局变量缩短为'a',其中Handlebars模板仍然引用'App.View'。

MyView.hbs:

{{#each controller}}
  {{view App.MyChildView}}
{{/each}}

MyChildView.hbs:

<div>Irrelevant HTML</div>

JS:

App = Ember.Application.Create();  
App.MyView = Ember.View.extend({...

App.MyChildView = Ember.View.extend({...

错误:

  

未捕获错误:断言失败:无法在路径“MyChildView”找到视图


解决方案:

使用渲染助手而不是视图找到解决方案。

MyView.hbs:

{{#each controller}}
  {{render "MyChildView"}}
{{/each}}

1 个答案:

答案 0 :(得分:1)

把手{{view}}助手可以接受字符串而不是常量。所以试试:

{{#each controller}}
  {{view "App.MyChildView"}}
{{/each}}