观察角度控制器之间的变化

Observing changes across controllers in angular

本文关键字:变化 之间 控制器 观察      更新时间:2023-09-26

我有一个带两个控制器的角度应用程序。以下是代码的简化版本:

var app = angular.module('walkerApp', ['firebase']);
app.controller('AuthenticationController', function($scope) {
    function login(user) {
      ...
    }
});
app.controller('StepsDataController', function($scope) {
});

StepsDataController提供来自firebase后端的数据。AuthenticationController处理用户管理。当当前用户更改(通过AuthenticationController的登录或注册方法)时,StepsDataController应重新绑定到该用户特定的一组数据。

如何在Angular中执行此操作?显然,我需要某种观测器实现,但我不确定机制是什么。

您可以始终从主题控制器使用$scope.$broadcast$scope.$emit,在观察者控制器上使用$scope.$on。有关详细信息,请参阅文档。

我不确定您的控制器作用域在层次结构上是如何相关的,但您可以始终使用$rootScope.$broadcast