angularjs何时创建新范围

时间:2015-08-07 17:24:43

标签: angularjs

angularJS似乎创建了新的范围,因为它有父范围,子范围和兄弟范围。

什么时候决定创建新范围?例如,如果我使用ng-inspector查看存在的范围,则有$ rootScope和其他范围,但对我来说其他范围对应的内容并不明显,对于我这些其他范围也不清楚被创建/销毁。我相信它们是因为$ id改变而被创建/销毁的。如果我四处走动并向前/向后按压,则会发生变化。

2 个答案:

答案 0 :(得分:0)

Angular为DOM的那部分上的每个实例化控制器创建新范围。 Angular还为每个指令创建范围(范围除外:false,表示具有隔离范围的指令,范围:true)。还为内置指令创建了一个范围,例如ng-repeat,它为每个重复项创建范围。

此外,当您使用ng-if指令时,它可以删除并添加DOM的部分内容,当它添加时,所有控制器和指令都会再次添加其范围。

答案 1 :(得分:0)

Angular的范围树几乎将反映dom树。指令可以创建新的范围。不仅仅是你的指令,还包含像ng-if这样的Angular指令。这是一个深入的话题......

这是一个blog post,可以更深入地解释事情。

希望有所帮助!