Javascript 在then函数中指定$scope值时,数据绑定不起作用
有人能帮我找出我在这里做错了什么吗。我正在调用一个$http服务来上载函数中的.xlsx文件,然后将响应数据分配给$scope变量,并尝试将其绑定到html中,但绑定没有发生。任何建议都会有很大帮助,请提前感谢 下面是代码示例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
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