0

在我的网页中,有一个主控制器需要使用服务通过使用 $http 或 getJSON 从服务器调用数据来完成一些初始化。一旦主控制器完成数据加载,页面中还有其他子控制器不应被调用。如何在控制器中注入 DI?

Edit1 ex:类似于从脚本 onload 调用 Angular 控制器的东西, 其中服务调用服务器以获取一些数据,并在完成后通知其他人。这可能吗?

4

1 回答 1

2

看起来您应该查看 $scope.$emit、$scope.$broadcast 和 $scope.$on 方法来处理 angularjs 中的事件。

看看角度范围指南

基本思想可能如下所示:

$http.get("/api/stuff", function(data)
    .then(function(data){
      $scope.$broadcast("apiLoad", data);
    }, function(err){
      //do something with err
    })

然后子控制器可以使用:

$scope.$on("apiLoad", function( event, data){
  //do something now that apiLoad is done.
})
于 2013-04-25T07:16:52.057 回答