2014-01-23 63 views
0

我有一个变量$scope.liking。无论何时单击一个类似按钮,它都会更新,触发聆听者FB.Event.subscribe手动更新角模板

controller('LikeCtrl', ['$scope', '$window', function($scope, $window) { 
    var page_like_callback = function(url, html_element) { 
    $scope.liking = true; 
    console.log($scope); 
    }; 

    console.log($scope); 
    FB.Event.subscribe('edge.create', page_like_callback); 
}]); 

在我的模板,我有一个 <p>{{liking}}</p>

它不会当FB.Event.subscribe火灾更新。我可以看到console.log范围已更新。我可以踢它使模板上传或以某种方式更改代码吗?

回答

2

该回调在Angular的控制之外执行。您需要在$scope的上下文中明确评估表达式。您可以使用$apply

var page_like_callback = function(url, html_element) { 
    $scope.$apply(function() { 
     $scope.liking = true; 
    }); 
};