首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng-scope是否只为新的作用域插入?

ng-scope是否只为新的作用域插入?
EN

Stack Overflow用户
提问于 2013-12-19 07:29:19
回答 2查看 36.7K关注 0票数 16

这听起来可能有点傻..但我在理解“ng- scope”类是否仅在创建新的作用域时才插入,还是它是其他什么东西时遇到了问题?

示例:我有以下几行代码链接到一个控制器:

代码语言:javascript
复制
<button class="btn" ng-click="open()">Open me!</button>
<div ng-show="selected">Selection from a modal: {{ selected }}</div>

在web控制台中,两者都有一个ng-scope:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<div>hello</div>

输出

代码语言:javascript
复制
<div class="ng-scope">hello</div>

但是为什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-19 07:31:32

任何地方都有一个作用域。来自the documentation

注意到,Angular会自动将ng-scope类放在附加了作用域的元素上。此示例中的定义以红色突出显示新的作用域位置。子范围是必需的,因为中继器计算{{name}}表达式,但根据表达式的计算范围,它会产生不同的结果。

this answer中,@MarkRajcok指出angular使用这些来跟踪作用域(和垃圾收集)。

编辑:并回答您编辑过的问题。不,这不会添加ng-scope类:

代码语言:javascript
复制
<div>hello</div>

Here is a plunker查看它的实际效果。

请注意,ng-scope类仅应用于声明了ng-controller的节点。

代码语言:javascript
复制
<div ng-controller="Ctrl" class="ng-scope">
  <div>hello2</div>
</div>
票数 13
EN

Stack Overflow用户

发布于 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>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20670646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档