2014-04-14 30 views
0

我們的SPA擁有2個獨特的頂級視圖。比較它就像windows文件資源管理器顯示一邊的樹視圖和另一邊的內容細節。對於這些頂級視圖,我們正在考慮擁有2個部分視圖。其他選擇是將這些視圖打包爲指令。我們最初的想法是走向部分視圖,因爲這些功能塊相當大,每個視圖可以有多個控制器。任何類似的經驗/想法都會幫助我們做出決定。注意我們使用事件機制在這些視圖之間進行通信。Angularjs局部視圖與指令

我們不打算重複使用這些視圖。具體來說,是否有部分視圖出現問題?像性能,可維護性等

+2

請勿使用指令。他們的目的不是爲了描述你的想法 – Dalorzo

+0

很高興被證明是錯誤的,但我認爲除非你使用ui-router,否則你的頁面只能有一個視圖。這可能會讓你決定爲你的「視圖」中的至少一個使用指令。 – Martin

+0

@馬丁,這是不正確的。你仍然可以使用ngInclude,它仍然會比指令更好 – Dalorzo

回答

0

我不知道我在這裏瞭解問題,所以對不起,如果我說錯了什麼(也對我的英語感到抱歉)。 你需要的是2意見;如果在這些視圖的「內部」使用指令或不使用,那是另一回事。 我唯一確定的是那兩個視圖需要他們自己的scope

對我來說,它似乎很像'導航菜單'與'視圖'類型的問題(只是導航部分會是某種樹形視圖),所以解決方案應該類似:

  • '正常'ngView(您的'細節'一面);
  • a div與它自己的控制器(和它自己的範圍)。

喜歡的東西:

<nav ng-controller="treeViewController()"> 
    <!-- here we use a directive, for example --> 
    <tree-view ng-model="tree"></tree-view> 
</nav> 
<div ng-view></div> 

然後讓他們溝通的最佳方式可能是一個定製服務。

如果我誤解了您的問題,請提前抱歉。