Javascript 在then函数中指定$scope值时,数据绑定不起作用

Javascript 在then函数中指定$scope值时,数据绑定不起作用,javascript,angularjs,promise,Javascript,Angularjs,Promise,有人能帮我找出我在这里做错了什么吗。我正在调用一个$http服务来上载函数中的.xlsx文件,然后将响应数据分配给$scope变量,并尝试将其绑定到html中,但绑定没有发生。任何建议都会有很大帮助,请提前感谢 下面是代码示例 fileUpload.uploadFile(file) .then(function(response) { console.log('File Uploaded Successfully'); if (respons

有人能帮我找出我在这里做错了什么吗。我正在调用一个$http服务来上载函数中的.xlsx文件,然后将响应数据分配给$scope变量,并尝试将其绑定到html中,但绑定没有发生。任何建议都会有很大帮助,请提前感谢

下面是代码示例

fileUpload.uploadFile(file)
     .then(function(response) {
          console.log('File Uploaded Successfully');
            if (response.status == 201) {
                if(response.data!=undefined) {
                    var _data = angular.fromJson(response.data);
                        $scope.batchUploadDetails = _data;
                        console.log($scope.batchUploadDetails);
                    }
                }
      }, function(response) {
        $scope.batchUploadDetails = {};
        console.log('File Uploading Failed!');
});
Html模板

<div class="col-xs-12 no_pad borderAll padding20 margTop20 mb20" >

    <div class="col-lg-2 col-md-2 col-sm-3 col-xs-12 no_pad">
        <label class="col-xs-12 no_pad labelNew">Employee count</label><span
                    class="col-xs-12 no_pad">{{ batchUploadDetails.employeeCount }}</span>
    </div>

    <div class="col-lg-2 col-md-2 col-sm-3 col-xs-12 no_pad">
        <label class="col-xs-12 no_pad labelNew">Company code</label><span
                    class="col-xs-12 no_pad">{{ batchUploadDetails.companyCode }}</span>
    </div>

</div>

员工计数{batchUploadDetails.employeeCount}
公司代码{{batchUploadDetails.companyCode}

您可以使用$apply触发$digest循环

fileUpload.uploadFile(file)
     .then(function(response) {
          console.log('File Uploaded Successfully');
            if (response.status == 201) {
                if(response.data!=undefined) {
                    var _data = angular.fromJson(response.data);
                        $scope.batchUploadDetails = _data;
                        setTimeout(function (){ 
                           $scope.$apply();// you can use $timeout as well. Here I used settimeout to avoid $digest already in progress error
                      },0)
                        console.log($scope.batchUploadDetails);
                    }
                }
      }, function(response) {
        $scope.batchUploadDetails = {};
        console.log('File Uploading Failed!');
});

您可以使用$apply触发$digest循环

fileUpload.uploadFile(file)
     .then(function(response) {
          console.log('File Uploaded Successfully');
            if (response.status == 201) {
                if(response.data!=undefined) {
                    var _data = angular.fromJson(response.data);
                        $scope.batchUploadDetails = _data;
                        setTimeout(function (){ 
                           $scope.$apply();// you can use $timeout as well. Here I used settimeout to avoid $digest already in progress error
                      },0)
                        console.log($scope.batchUploadDetails);
                    }
                }
      }, function(response) {
        $scope.batchUploadDetails = {};
        console.log('File Uploading Failed!');
});

您应该在$apply内修改范围变量,以使更改生效


您还可以使用$timeout服务,它最终将调用$apply服务

您应该在$apply内修改您的范围变量,以使更改生效


您还可以使用$timeout服务,它最终将调用$apply服务

你在说什么$scope变量_数据?我说的是$scope.BatchUploadDetails你在说什么$scope变量_数据?我说的是$scope.batchUploadDetails