AngularJS正在更新另一个控制器的作用域数据

AngularJS正在更新另一个控制器的作用域数据,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我有一个AngularJS网络应用程序,当我注销时会被重定向到登录页面。我希望登录页面中的某些字段根据从后端的注销服务传回的一些数据隐藏起来 有办法做到这一点吗?我只需要更新登录控制器js中的一个变量,但我不确定如何从注销控制器js中更新 请帮助全新的AngularJS 您需要在应用程序中使用“值”选项 angular.module('yourAppName') .value('Config', null); 然后你需要把它注入你的控制器,让它们相互交流 .controller('c

我有一个AngularJS网络应用程序,当我注销时会被重定向到登录页面。我希望登录页面中的某些字段根据从后端的注销服务传回的一些数据隐藏起来

有办法做到这一点吗?我只需要更新登录控制器js中的一个变量,但我不确定如何从注销控制器js中更新

请帮助全新的AngularJS

您需要在应用程序中使用“值”选项

angular.module('yourAppName')
     .value('Config', null);
然后你需要把它注入你的控制器,让它们相互交流

.controller('controllerLogout', function(Config){
//do something that update Config
}

.controller('MainController' function(Config){
      //use Config here to bind it in a ng-show in HTML controlled by 
      //coontroller itself
}

我想你可以利用事件来实现这一点

在注销控制器中执行以下操作:

$rootScope.$broadcast('loggedOut',data);
在您的登录控制器中

$scope.$on('loggedOut', function(event, data) {
}

您所描述的内容非常广泛,可以通过多种方式完成。如果您可以包括您正在使用的表单、要隐藏的字段和一些要使用的示例数据,我们可以更具体地介绍我们的解决方案。请告诉我您认为可行的解决方案之一。谢谢你我提到的原因是这太宽泛了。如果你无法证明我们在处理什么样的约束,以及一个解决方案是否能客观地对你有效,那么这就像是一个太宽泛的问题,会导致一些不同的答案。你应该缩小你的标准。使用angular app登录服务来存储用户状态我很抱歉,因为我对它很陌生,你到底如何注入它?我已经注入了:)查看控制器函数参数:P现在你可以在两个控制器中都使用Config变量,因为你想知道
会有帮助,运行时后无法更改它