У меня есть директива 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>
Мне нужно иметь возможность настроить переменную области действия в моей директиве, потому что «Люди» будут меняться в зависимости от данных, переданных в атрибуты директивы. В противном случае я бы просто придерживался рабочего примера выше.
Любая помощь приветствуется. Спасибо.