这听起来可能有点傻..但我在理解“ng- scope”类是否仅在创建新的作用域时才插入,还是它是其他什么东西时遇到了问题?
示例:我有以下几行代码链接到一个控制器:
<button class="btn" ng-click="open()">Open me!</button>
<div ng-show="selected">Selection from a modal: {{ selected }}</div>在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>即使没有特定于角度的数据,比如这里,它也会添加一个ng-scope:
<div>hello</div>输出
<div class="ng-scope">hello</div>但是为什么呢?
发布于 2013-12-19 07:31:32
任何地方都有一个作用域。来自the documentation
注意到,Angular会自动将ng-scope类放在附加了作用域的元素上。此示例中的定义以红色突出显示新的作用域位置。子范围是必需的,因为中继器计算{{name}}表达式,但根据表达式的计算范围,它会产生不同的结果。
在this answer中,@MarkRajcok指出angular使用这些来跟踪作用域(和垃圾收集)。
编辑:并回答您编辑过的问题。不,这不会添加ng-scope类:
<div>hello</div>Here is a plunker查看它的实际效果。
请注意,ng-scope类仅应用于声明了ng-controller的节点。
<div ng-controller="Ctrl" class="ng-scope">
<div>hello2</div>
</div>发布于 2016-04-30 14:04:10
每当我们在创建angular模块时指定依赖注入
(angular.module('myApp',[]);)
,那么只有类“ng-class=”会被添加到<body ng-app="myApp "ng-controller="myCtrl" class="ng-class">中。如果我们不指定DI (angular.module('myApp');),那么class=“ng-class=”将不会被添加。这是在<body>元素的情况下。但是,除了<body>元素之外,每当我们为任何html元素/标签编写ng-class=指令时,都会添加“ng-scope”。例如:<div ng-controller="myDiv"></div>。输出为<div class="ng-scope"></div>
https://stackoverflow.com/questions/20670646
复制相似问题