异步调用后$ scope丢失

时间:2014-03-20 21:36:33

标签: javascript angularjs parse-platform

我在另一个项目中工作,但是当我将代码移动到一个新项目时,最简单的情况就失败了。

我的控制器看起来像这样:

angular.module('myApp.controllers').
  controller('SchoolController', ['$scope',
  function($scope) {
      $scope.school = "whats wrong";
      var query = new Parse.Query("School");
      query.first().then(function(result){
          $scope.school = "with this";
          alert(result.get("name"));
      });
}]);

html看起来像这样:

<p>school is {{school}}</p>

渲染时,我看到&#34;学校是错误的&#34;在我预期的页面上,我看到警报,包括来自服务器的数据。但是为什么我看不到页面上的绑定变量改为&#34;用这个&#34; ??

由于

1 个答案:

答案 0 :(得分:1)

将您的更改应用于angular:

angular.module('myApp.controllers').
  controller('SchoolController', ['$scope',
  function($scope) {
      $scope.school = "whats wrong";
      var query = new Parse.Query("School");
      query.first().then(function(result){
          $scope.school = "with this";
          $scope.$apply();
      });
}]);

请参阅this link

上的$apply