0

我目前正在使用 jsonp 与 google api 交互,所以我需要一个全局回调函数。如何在回调函数中触发页面更新?

我试过$timeoutand $scope.$apply,但它们似乎不起作用。

在我的控制器中,我有类似的东西

var App = window.App = angular.module('App', ["App.controllers"]);
angular.module('App.Controllers', [])
    .controller("LoginController", ["$scope", function($scope) {
        window.gplusUserCallback = function(data) {
            $timeout(function() {
                $scope.user = data;
                console.log("gplusUserCallback", $scope.user);
            });
        };
    }]);

$scope.user似乎不会触发刷新。有任何想法吗?

4

1 回答 1

1

如果您想在触发全局回调后更新您的角度范围,您必须手动更新您的范围。

// If you do have access to your scope via $scope
$scope.$digest();

// If you don't have access to the scope
var element = document.getElementById('dashboard');
// Get the scope for your element where your controller is bound to
var scope = angular.element(element).scope();
scope.$digest();
于 2013-06-14T17:59:53.247 回答