2013-01-11 76 views
4

我最近升級到最新Ember.js版本(從GitHub的頁面建成。)定義應用程序模板中Ember.View在最近Ember.js建立

當使用新的路由器,這是否不工作更長?

App.ApplicationView = Ember.View.extend({ 
    template: Ember.Handlebars.compile("Hello") 
}); 

我更喜歡在我的js文件而不是index.html中定義我的模板。我相信它更清潔。但是,以上不渲染!

有什麼建議嗎?謝謝!

回答

10

對於Ember 1.0,模板應該在index.html中定義,或者在通過構建工具提供給應用程序的單獨文件中定義。

一些例子:

如果你真的,真的想要把你的模板在JavaScript中,你可以把這個在您的應用程序模板:

<script type="text/x-handlebars"> 
    {{view App.MyView}} 
</script> 

,然後定義您的視圖:

App.MyView = Ember.View.extend({ 
    template: Ember.Handlebars.compile("Whatever you want here") 
}); 

這就是說,在灰燼的快樂路徑是使用外部模板對於您的每條路線,無論是在您開始使用HTML時,還是使用構建步驟,以便您可以將它們排除在index.html之外。

+2

我有一種感覺,這將是答案。我曾經認爲我的模板「屬於」我的觀點,但看起來Ember正朝着模板用於構建用戶界面的方向發展,並且視圖僅用於響應用戶事件(有時候)。 我相信這是做事的最佳方式,但我必須開始思考一點不同! –

+1

這也是我的關鍵時刻。視圖是模板的可選組件,這是一個奇怪的想法。 – hankang

+0

@ hank42完全正確 –

相關問題