2

ng-form ディレクティブは angular js で新しいサブスコープを作成しますか?

30分ほどグーグルで検索していましたが、あまり見つかりませんでした。

4

1 に答える 1

2

いいえ。このプランカーから、新しいスコープを作成し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>

これは、スコープにプリミティブを配置してはならない理由と同じです。最初の 2 つの入力を変更すると、name変数は 3 つすべてで変更されます。ただし、最後の入力を変更すると、そこでのみ変更されます。その後、最初の 2 つの入力ボックスに加えられた変更に応答しなくなります (以前は親スコープのname変数を使用していましたが、そのスコープ内から対話すると、独自の変数を持ちます)。

于 2015-07-09T20:45:42.523 に答える