angularjs - ngForm 是否创建新范围

标签 angularjs angularjs-ng-form

ng-form 指令是否在 Angular js 中创建新的子作用域?

谷歌搜索了半个小时找不到太多东西。

最佳答案

不。你可以从这个plunker看出ng-form 不会创建新范围。

<h2>Parent Scope</h2>
<input ng-model="name" />
<p>Hello {{name}}!</p>
<h2>ng-form</h2>
<ng-form>
  <input ng-model="name" />
  <p>Hello {{name}}!</p>
</ng-form>
<h2>ng-if</h2>
<div ng-if="true">
  <input ng-model="name" />
  <p>Hello {{name}}!</p>
</div>

您可以判断的方式与您不应该在作用域上放置原语的原因相同。如果更改前两个输入,则所有三个输入的 name 变量都会更改。但如果你改变最后一个输入,它只会改变那里。之后,它将停止响应前两个输入框所做的更改(因为之前它使用父作用域的 name 变量,但是一旦您从该作用域内与它交互,它就会有自己的自己的变量)。

关于angularjs - ngForm 是否创建新范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325087/

相关文章:

javascript - asp.net mvc 6 web api + Angular 资源帖子数组作为对象属性

javascript - 以 Angular 形式将一个输入字段值连接(追加)到另一字段

javascript - Angularjs 表单验证指令失败

angularjs - Angularjs 中的 Socket.io

javascript - 用于获取元素 ID 的 AngularJS 指令

css - AngularJS 1.5.6 - ngRepeat 动画不工作

javascript - 嵌套 ng-click 参数未定义

javascript - value 属性没有出现在 Angular ngForm 中

angularjs - 将 AngularJS 嵌套表单设置为已提交

javascript - Angular 2在没有覆盖ngform时检查有效性