这可能听起来有点愚蠢.但是我在理解是否仅在创建新范围时插入'ng-scope'类时遇到问题,还是其他问题?
示例:我将这些代码行链接到控制器:
<button class="btn" ng-click="open()">Open me!</button>
<div ng-show="selected">Selection from a modal: {{ selected }}</div>
Run Code Online (Sandbox Code Playgroud)
在Web控制台中,两者都具有ng-scope:
<button class="btn ng-scope" ng-click="open()">Open me!</button>
<div ng-show="selected" class="ng-scope ng-binding ng-hide">Selection from a modal: </div>
Run Code Online (Sandbox Code Playgroud)
即使没有特定于角度的数据,就像这里一样,它会添加一个ng-scope:
<div>hello</div>
Run Code Online (Sandbox Code Playgroud)
输出
<div class="ng-scope">hello</div>
Run Code Online (Sandbox Code Playgroud)
但为什么 ??
Dav*_*yon 13
任何有附加范围的地方.从文档:
请注意,Angular会自动将ng-scope类放在附加作用域的元素上.此示例中的定义以红色突出显示新的范围位置.子范围是必需的,因为转发器评估{{name}}表达式,但根据表达式的评估范围,它会产生不同的结果.
在这个答案中,@ MarkRajcok表示angular使用这些来跟踪范围(和垃圾收集).
编辑:并回答您编辑的问题.不,这不会增加一个ng-scope类:
<div>hello</div>
Run Code Online (Sandbox Code Playgroud)
这是一个了解这一点的人.
请注意ng-scope类如何仅应用于ng-controller声明的节点.
<div ng-controller="Ctrl" class="ng-scope">
<div>hello2</div>
</div>
Run Code Online (Sandbox Code Playgroud)