如何在页面中制作子角度控制器取决于页面的主控制器

时间:2013-04-25 03:46:54

标签: angularjs angularjs-controller

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

Edit1 ex: 类似Call Angular controller from script onload的内容 服务调用服务器获取一些数据,一旦完成,就会通知其他人。 这可能吗?

1 个答案:

答案 0 :(得分:2)

看起来你应该查看$ scope。$ emit,$ scope。$ broadcast和$ scope。$来处理angularjs中事件的方法。

查看angular scope guide

基本想法可能如下所示:

$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.
})