手动更新角度模板

时间:2014-01-23 13:19:24

标签: javascript angularjs

我有一个变量$scope.liking。只要somone点击了一个类似按钮,它就会更新,从而触发监听器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范围已更新。我可以踢它来上传模板或以某种方式更改代码吗?

1 个答案:

答案 0 :(得分:2)

回调是在Angular控件之外执行的。您需要在$scope的上下文中显式计算表达式。您可以使用$apply

执行此操作
var page_like_callback = function(url, html_element) {
    $scope.$apply(function () {
        $scope.liking = true;
    });
};