想象一下我有这样一个东西:
<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
。我的问题是,这样做是否不好的实践,因为我想象中对于同一DOM元素(例如
div#two
)有2个控制器可能会导致冲突...另外,如果这不是一个不好的实践,那么在这种情况下我应该注意什么呢?例如,我想象中必须小心避免在两个控制器中拥有相同的属性,对吗?
谢谢。
附:我不确定是否提过这个问题。我看到几次问题:“我可以在同一页中两次使用相同的控制器”,但那不是我的问题。
div#two
无法与GlobalController
上的$scope.foo
属性进行交互。我正在尝试创建一个 JsFidlle 来确保,并且我将编辑我的问题... - Romain LinsolasSpecificController
应该继承自GlobalController
- 它没有共享那个div#one
? - Bergidiv#two
嵌套在GlobalController
中,因此继承了任何已定义的属性 - http://jsfiddle.net/Yu8ZW/ - CodingIntrigue