Javascript 角度-跨多个指令实例更改范围变量

Javascript 角度-跨多个指令实例更改范围变量,javascript,angularjs,Javascript,Angularjs,我有一个指导性项目。在一个页面上设置了多个项目。基于数据属性,它将范围变量设置为true或false。我希望能够将所有范围变量设置为false 如果有必要,我可以提供代码,但本质上我的问题是,如何单击按钮来影响页面上指令的每个实例中的范围变量?Michael,我将创建一个服务,该服务将保存这些数据。在每个指令上,我都会$watch该服务,并在它发生变化时更新变量。您可以使用$rootScope.$broadcast和$scope.$On,这两个系统的作用类似于事件调度和侦听系统。有关如何实现此功

我有一个指导性项目。在一个页面上设置了多个项目。基于数据属性,它将范围变量设置为true或false。我希望能够将所有范围变量设置为false


如果有必要,我可以提供代码,但本质上我的问题是,如何单击按钮来影响页面上指令的每个实例中的范围变量?

Michael,我将创建一个服务,该服务将保存这些数据。在每个指令上,我都会$watch该服务,并在它发生变化时更新变量。

您可以使用
$rootScope.$broadcast
$scope.$On
,这两个系统的作用类似于事件调度和侦听系统。有关如何实现此功能的更多详细信息,请参阅。

我认为一个小小的更改会更好一些,因为OP似乎已经在一个控制器中具有指令更改值,更改该控制器以获取/设置服务内的值,然后所有了解该服务的其他控制器都将获得更新。我最终选择了此解决方案,因为它在我的项目上下文中更有意义。对于那些想知道我在页面上有多个实例的指令的人。rootscope广播通知他们所有人做出相应的反应。在一项服务中使用$watch感觉就像是重新发明轮子,因为它只需要很少的代码。