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/