0

我在控制器 A 中有一个 Restangular 函数,它需要设置一个$rootScope在控制器 B 中使用的变量。如何确保在初始化控制器 B 之前运行 Restangular 函数,或者是否有其他方法来处理这个问题?谢谢。

4

1 回答 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 回答