2013-07-30 38 views
0

剛開始學習Ember.js,並評估它是否適合我的項目。Ember.js - 同一頁面上的多個視圖

我有多頁面應用程序,並在每個我有不同的內容(組件),可以跨頁面重用。對於一個簡單的方法讓我們考慮這是一個類似配方博客

主頁:

  • 食譜(通過灰燼裝)
  • 熱門食譜塊(經燼加載)
  • 產品參考指南塊(經由灰燼加載)

單配方頁:

  • 配方內容(由後端呈現簡單的HTML)
  • 評論塊(經由灰燼加載)
  • 產品參考導塊(經由灰燼加載)

產品/成份視圖:

  • 產品內容(簡易html在後端渲染)
    評論區塊(通過Ember加載)
    產品refe倫斯導向塊(經由灰燼加載)

  • 等。

所以基本上我有小的可重用組件

  1. 評論
  2. 產品參考指南
  3. 熱門食譜

我希望它們全部獨立加載,並且我希望將它們包括在不同的頁面上,它們的位置將取決於頁面類型。我想有獨立的事件,爲每個組件

通過文檔跳繩的,我認爲有幾個解決方案:Example 1

1)我的每個部件使用不同的灰燼應用

<script type="text/x-handlebars" data-template-name='app1-view'> 
I am the App1 main view 
</script> 
<script type="text/x-handlebars" data-template-name='app2-view'> 
I am the App2 main view 
</script> 

2)使用分音(可部分被綁定到控制器和具有像loadNextPage行動等?)Example 2

{{partial 'navbar'}} 
{{outlet}} 
{{partial 'footer'}} 

3)使用名爲網點Example 3

{{outlet header}} 
{{outlet body}} 
{{outlet navBar}} 

4)...?

或者也許Ember更適合單頁面應用程序?我不想使用jquery ui小部件,並且綁定/解除綁定和dom操作混亂。

回答

0

使用的觀點:在Ember.js

查看通常僅適用於以下原因產生:

當您需要的用戶事件的複雜處理

當你想創建可重複使用的組件

爲每個可重用組件創建一個視圖,並在需要時將其綁定到正確的模板。

讓Ember爲您處理視圖和上下文的生命週期!

欲瞭解更多信息,請閱讀: http://emberjs.com/guides/views/

相關問題