Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在具有全局变量的把手模板中使用余烬视图辅助对象_Ember.js_Handlebars.js_Grunt Ember Templates - Fatal编程技术网

Ember.js 在具有全局变量的把手模板中使用余烬视图辅助对象

Ember.js 在具有全局变量的把手模板中使用余烬视图辅助对象,ember.js,handlebars.js,grunt-ember-templates,Ember.js,Handlebars.js,Grunt Ember Templates,是否有任何方法可以在不使用Ember应用程序全局变量的情况下引用Handlebar view helper中的Ember视图?在预编译我的Handlebar模板并使用Grunt缩小我的余烬代码之后,我得到了下面的错误。这似乎是因为余烬全局变量被缩短为“a”,其中把手模板仍然引用“App.View” MyView.hbs: {{#each controller}} {{view App.MyChildView}} {{/each}} {{#each controller}} {{rend

是否有任何方法可以在不使用Ember应用程序全局变量的情况下引用Handlebar view helper中的Ember视图?在预编译我的Handlebar模板并使用Grunt缩小我的余烬代码之后,我得到了下面的错误。这似乎是因为余烬全局变量被缩短为“a”,其中把手模板仍然引用“App.View”

MyView.hbs:

{{#each controller}}
  {{view App.MyChildView}}
{{/each}}
{{#each controller}}
  {{render "MyChildView"}}
{{/each}}
MyChildView.hbs:

<div>Irrelevant HTML</div>
错误:

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


解决方案:

通过使用“渲染辅助对象”而不是“视图”,找到了此问题的解决方案

MyView.hbs:

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

把手
{{view}}
助手可以接受字符串而不是常量。因此,请尝试:

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

你能展示更多关于你的
App.MyView
是如何设置的、模板等的代码吗?我认为这是我问题的更好表现。我正在使用我的程序的简化,所以我想我通过使用{{render}}助手而不是{{view}找到了解决这个问题的方法。无法将其作为答案发布,因为您需要10个代表才能在发布后的8小时内回答自己的问题:(很高兴您找到了解决方案,也许您可以编辑您的答案并添加解决方案。这是否仍然有效地引用全局余烬应用程序变量(App)?是的。同意这并不理想,如果
{view}就好了
做了一些容器查找,比如
{{{render}}
。可能是的,我没有尝试过……是的,有点烦人,我真正需要的是一个视图(带有控制器继承)但是不能像render那样进行模板名称查找。似乎你不是唯一一个想要这样做的人-stef刚刚发布了一个PR,可以教view helper有关容器的知识。