我目前正在使用jsonp与google api进行交互,所以我需要一个全局回调函数。如何在回调函数中触发页面更新?
我已尝试$timeout
和$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
似乎没有触发刷新。有什么想法吗?
答案 0 :(得分: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();