我在控制器 A 中有一个 Restangular 函数,它需要设置一个$rootScope
在控制器 B 中使用的变量。如何确保在初始化控制器 B 之前运行 Restangular 函数,或者是否有其他方法来处理这个问题?谢谢。
问问题
126 次
1 回答
1
$scope.$watch
处理依赖关系的常用方法是在您等待的变量上使用 a并让您的其他代码在回调中响应。
$scope.$watch(function() {
return $rootScope.resultFromControllerA
}, function(result) {
if (result) {
// Configure Controller B
}
})
编辑,只是添加,因为你建议它是一个承诺,只需在根范围上设置承诺并将你的其他控制器附加到它:
控制器 A
$rootScope.controllerASetupPromise = Restangular.get()
控制器 B
$scope.$watch(function() {
return $rootScope.controllerASetupPromise
}, function(thePromise) {
if (thePromise) {
thePromise.then(function(response) {
// Configure Controller B
});
}
})
于 2013-10-29T04:09:03.773 回答