2015-07-09 3 views
1

ли директива ng-form создает новую подпунктовую область в угловых js?Создает ли ngForm новую область действия

Был ли поисковый запрос в течение полутора часов не мог найти много.

+0

Насколько я знаю, он не создает новую область, только ng-repeat, ng-include, ng-switch, ng-view, ng-controller и ng-if do. https://github.com/angular/angular.js/wiki/Understanding-Scopes#angular-scope-inheritance – yvesmancera

ответ

1

Nope. Вы можете сказать из этого 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 родительской области, но как только вы взаимодействуете с ней из этой области, у нее есть своя переменная).

Смежные вопросы