我在控制器A中有一个Restangular函数需要设置一个在控制器B中使用的$rootScope
变量。如何在控制器B初始化之前确保Restangular函数运行,或者在那里另一种处理这个问题的方法?感谢。
答案 0 :(得分:1)
处理依赖关系的常用方法是对您正在等待的变量使用$scope.$watch
,并让其他代码在回调中做出响应。
$scope.$watch(function() {
return $rootScope.resultFromControllerA
}, function(result) {
if (result) {
// Configure Controller B
}
})
编辑,只是为了添加,因为您建议它是一个承诺,只需在根作用域上设置承诺并让其他控制器附加到它:
$rootScope.controllerASetupPromise = Restangular.get()
$scope.$watch(function() {
return $rootScope.controllerASetupPromise
}, function(thePromise) {
if (thePromise) {
thePromise.then(function(response) {
// Configure Controller B
});
}
})