2013-06-19 54 views
2

車把模板使用灰燼視圖助手有什麼辦法可以參考在車把灰燼視圖的視圖助手不使用灰燼應用程序的全局變量?在預編譯我的句柄模板並使用Grunt縮小我的Ember代碼後,我收到了下面的錯誤。這似乎是因爲Ember全局變量被縮短爲'a',其中Handlebars模板仍然指向'App.View'。在全球VAR

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({... 

錯誤:

Uncaught Error: assertion failed: Unable to find view at path 'MyChildView'


解決方案:

通過使用呈現輔助而不是視圖找到了解決此。

MyView.hbs:

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

您可以顯示在您如何'App.MyView'是設置更多的代碼,模板等 – intuitivepixel

+0

我覺得這是我的問題得到更好的代表。我正在使用我的程序的簡化。 –

+0

所以我想我通過使用{{render}}幫手而不是{{view}}來找到解決方案。不能發佈它作爲一個答案,因爲你需要10個代表8小時發佈它的內回答自己的問題:( –

回答

1

車把{{view}}助手可以接受一個字符串,而不是一個常量。因此,嘗試:

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

這是否仍然有效引用全局Ember應用程序變量(應用程序)雖然? –

+0

是的。一致認爲這並不理想,如果'{{view}}'做了像'{{render}}'這樣的容器查找,那會很好。試過...... –

+0

呀這是一個有點惱人,我真正需要的是一個視圖(與控制器繼承),但不能做模板名稱查找喜歡與渲染。 –