请帮助我理解AngularJS中的范围。
如果我在指令中关联控制器(而不是在html中),它是否应该对与指令相关的范围产生任何影响?
如何在范围隔离后使用ng-repeat?
例如这是一个例子:http://plnkr.co/edit/0flo5mru61r9h3H8kiW5?p=preview
EX1。如果我注释掉(div ng-controller =" Ctrl")[第40,43行],而是在指令中取消注释(// controller:' Ctrl')[第35行],为什么没有创建相同的范围/层次结构(如在Batarang中所见)。
EX2。如何在不更改当前控制器的情况下为instructorList和profList(单独)运行ng-repeat,而只是使用范围?
答案 0 :(得分:1)
我不确定如何检查batarang中的掠夺者,但是。
如果这样做,您将对控制器进行两次实例化:在每个指令元素上执行一次。每次实例化它时,您都要创建一个新范围。因此,您有两个独立的兄弟范围。你可以从html中看到,heirarchy不会像在同一个拥有自己范围的元素中拥有它们一样。在后一种情况下,子元素1所做的更改将影响子元素2使用的相同范围。
这里的含义不太清楚。 ng-repeat应该在html中完成。您可以将它放在模板中,如下所示:
template: '<label ng-repeat="person in teacherList">{{person.id}}<input ng-model="person.name"><br></label>'
请参阅this