我有这样的表格:
<div class="form-group">
<label for="GrpName"> Mail:</label>
<input ng-model="customerToUpdate.mail" type="text" class="form-control" id="name">
<button type="button" class="btn btn-default" ng-click="loadCustomer()">
Load
</button>
</div>
<div class="form-group">
<label for="GrpName"> Username:</label>
<input ng-disabled="{{isDisabled}}" ng-model="customerToUpdate.username" type="text" class="form-control" id="name">
</div>
控制器:
$scope.isDisabled = true;
$scope.loadCustomer = function() {
Customer.getByEmail($scope.customerToUpdate.mail)
.success(function(customer, status, headers, config) {
if(!isEmptyObject(customer)){
$scope.isDisabled = false;
}else
$scope.isDisabled = true;
});
};
使用chrome,我可以检查并看到ng-disabled
已更改为true
和false
但没有更新UI。我也尝试了readonly
,但结果相同......
我错过了什么?
答案 0 :(得分:3)
ng-disabled is bound with '=' not with '@',因此您不应使用括号:
转动你的
<input ng-disabled="{{isDisabled}}" ng-model="customerToUpdate.username" type="text" class="form-control" id="name">
到
<input ng-disabled="isDisabled" ng-model="customerToUpdate.username" type="text" class="form-control" id="name">
它应该有效!
答案 1 :(得分:-1)
发出http请求后,在更改$ scope后的回调中你必须使用 $范围$适用()。 在视野中强制反思