13

次のplnkrをご覧ください: http://plnkr.co/edit/KZwIBX?p=preview

最初の標準選択は期待どおりに機能します(少なくとも私が期待/予測した限り)。これは、モデルが更新された後に ng-change が呼び出されることを意味します。しかし、isolate スコープを持つディレクティブを作成すると、モデルが更新される前に ng-change が呼び出されたように見えます。明らかに私が誤解していることがあります。

ng-change 後に更新された AngularJS スコープと非常によく似た状況

4

1 に答える 1

9

plnkr の例の問題は、change : '&'を使用して、親スコープへのバインディングとして変更関数を isolate スコープに渡していることです。& を使用すると、関数は親のコンテキストで式として評価され、モデルが変更される前に評価されます (パラメーターとしてモデルへのバインディングがない場合)。

動作するように例を変更するには、次の 2 つの方法があります。

  1. 変更を加えて、ディレクティブで分離スコープを定義できます: '=' 定義

  2. そのまま使用できますが、パラメーターを使用して親参照関数を呼び出します。2 番目の例については、ここにすばらしい説明があります: http://www.thinkster.io/pick/oEo8ZAXv27/angularjs-isolate-scope

于 2013-11-20T20:04:18.643 に答える