0

シンプルなangularWeb アプリケーションとフォームがあります。フォームには 2<input>と 1<p>の要素が含まれています。p値はangularテンプレートです:

<p>{{status()}}</p>

$scope.status = function(){
    alert('p');
    return 'Some status';
}

ページが読み込まれると、すべての表示が正常に表示され'Some status'ます<p>。しかし、質問があります。に何かを入力しようとすると、 ?に記号を入力するたびに何度も<input>表示されます。なんで?alert('p')input

ありがとうございました。

4

2 に答える 2

3

ng-model で入力があると思います。入力が変更されると、モデルが変更されます。各変更の後、angular はダイジェストを実行し、ビュー内のすべての式を再評価します (技術的にはウォッチ リストを処理します)。Angular 開発者ガイド の Angular の概念でそれについて読む必要があります。

于 2013-05-23T09:00:50.213 に答える
2

入力にデータバインディングもあると思います。そのため、キー入力で何かを変更するたびにangularがスコープを検証し、アラートが呼び出されるのは、angularが関数を実行して返された値がまだ同じかどうかを確認する必要があるためです。

于 2013-05-23T08:59:35.317 に答える