在我的网页中,有一个主控制器需要使用服务通过使用 $http 或 getJSON 从服务器调用数据来完成一些初始化。一旦主控制器完成数据加载,页面中还有其他子控制器不应被调用。如何在控制器中注入 DI?
Edit1 ex:类似于从脚本 onload 调用 Angular 控制器的东西,
其中服务调用服务器以获取一些数据,并在完成后通知其他人。这可能吗?
问问题
620 次
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 回答