分離スコープとスコープへのアクセスを必要とする AngularJS ディレクティブがあり$parent
ます。親スコープには、ajax 呼び出しの完了後に変更されるデータがあります。
私のディレクティブのリンク関数には、次のものがあります。
scope.loading = scope.$parent.contractData.People.loading;
ただし、親のcontractData
値が変更されscope.loading
ても更新されません。を使用してみましscope.$watch
たが、変更も通知されません。
私のディレクティブのテンプレートでは、ng-show
. 次のテンプレートは期待どおりに機能します。
<span ng-show="$parent.contractData.People.loading">loading</span>
ただし、これは機能しません (スコープがデータの変更を認識しないため)。
<span ng-show="loading">loading</span>
ディレクティブの属性に渡されるデータに応じて「People」が変化するため、ディレクティブでスコープ変数を設定できる必要があります。それ以外の場合は、上記の実際の例に固執します。
どんな助けでも大歓迎です。ありがとうございました。