为什么赢了';我的视图模板是否使用AngularJS绑定到范围变量?

为什么赢了';我的视图模板是否使用AngularJS绑定到范围变量?,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我的看法是: <div class="container" ng-controller="MyController"> <div class="row"> <div class="col-md-8"> <textarea class="form-control" rows="10" ng-model="myWords" ng-change="parseLanguage()"></textarea> <

我的看法是:

<div class="container" ng-controller="MyController">
  <div class="row">
    <div class="col-md-8">
      <textarea class="form-control" rows="10" ng-model="myWords" ng-change="parseLanguage()"></textarea>
    </div>
    <div class="col-md-4" ng-show="sourceLanguage !== null">
      Language: {{ sourceLanguage }}
    </div>
  </div>
</div>

控制台日志显示正确的数据。但是在视图中,
sourceLanguage
从不更新。为什么会这样?

如果您正在评估的承诺不是角度上下文的一部分,您需要使用
$scope.$apply

$scope.parseLanguage = function() {
  TranslateService.detectLanguage($scope.myWords).then(function(response) {
    $scope.$apply(function() {
      $scope.sourceLanguage = response.data.sourceLanguage;    
    });        
  });
};
$scope.parseLanguage = function() {
  TranslateService.detectLanguage($scope.myWords).then(function(response) {
    $scope.$apply(function() {
      $scope.sourceLanguage = response.data.sourceLanguage;    
    });        
  });
};