想象我有這樣的事情:有兩個共享相同DOM元素的Angular控制器是不好的做法嗎?
<html ng-app="myApp">
...
<body ng-controller="GlobalController">
<div id="one">...</div>
...
<div ng-controller="SpecificController" id="subPart">
<div id="two">...</div>
...
</div>
...
</body>
</html>
正如你所看到的,控制器GlobalController
管理整個身體,而SpecificController
只控制subPart
。
在這種情況下,div#one
可以訪問到GlobalController
,但div#two
鏈接到GlobalController
和SpecificController
。
我的問題是要知道,如果這是一個不好的做法,這樣做,因爲我想,有2個控制器對於相同的DOM元素(如div#two
)可能會導致衝突......
而且,如果它是不是一個壞習慣,在這種情況下我該怎麼照顧?例如,我想我必須小心以避免在兩個控制器中具有相同的屬性,對嗎?
謝謝。
ps:我不確定這個問題是否被問過。我多次看到「我可以在同一頁面上有兩次相同的控制器」的問題,但這不是我的問題。
事實上,我感覺我的'div#two'不能與'GlobalController'上的'$ scope.foo'屬性進行交互。我試圖創建一個JsFidlle來確定,並且我將編輯我的問題... – romaintaz
爲什麼'SpecificController'繼承自'GlobalController' - 它不共享'div#one'? – Bergi
@romaintaz'div#two'繼承由'GlobalController'定義的任何屬性,因爲它是嵌套的 - http://jsfiddle.net/Yu8ZW/ – CodingIntrigue