Javascript AngularJS作用域未在指令中更新

Javascript AngularJS作用域未在指令中更新,javascript,html,angularjs,angularjs-directive,angularjs-scope,Javascript,Html,Angularjs,Angularjs Directive,Angularjs Scope,我有一个AngularJS指令,它需要一个隔离作用域,还需要访问$parent作用域。父作用域具有在ajax调用完成后更改的数据 在我的指令的链接函数中,我有: scope.loading = scope.$parent.contractData.People.loading; 但是当父级的contractData值更改时,scope.load不会更新。我甚至尝试过使用scope.$watch,但也没有收到更改通知 在指令的模板中,我使用的是ng show。以下模板按预期工作: <spa

我有一个AngularJS指令,它需要一个隔离作用域,还需要访问
$parent
作用域。父作用域具有在ajax调用完成后更改的数据

在我的指令的链接函数中,我有:

scope.loading = scope.$parent.contractData.People.loading;
但是当父级的
contractData
值更改时,
scope.load
不会更新。我甚至尝试过使用
scope.$watch
,但也没有收到更改通知

在指令的模板中,我使用的是
ng show
。以下模板按预期工作:

<span ng-show="$parent.contractData.People.loading">loading</span>
加载
但这不起作用(因为范围从未发现数据更改):

加载
我需要能够在我的指令中设置一个范围变量,因为根据传递到指令属性中的数据,“人员”会发生变化。否则,我将继续使用上面的工作示例


感谢您的帮助。谢谢。

您可以为指令设置HTML,如下所示:

<div mydirective="contractData.People.loading"></div>
这将在指令的本地范围上创建一个绑定到属性表达式的属性。然后,您可以在指令的模板中引用该范围属性,如:

template: '<span ng-show="isLoading">loading</span>'
模板:“正在加载”

scope: {
    isLoading: '=mydirective'
},
// rest of directive
template: '<span ng-show="isLoading">loading</span>'