Javascript 为什么ng disabled不能在这里使用$pristine?

Javascript 为什么ng disabled不能在这里使用$pristine?,javascript,angularjs,Javascript,Angularjs,下面的HTML无法按预期工作。即使我在输入框中键入,按钮仍处于禁用状态: <form name="form"> <td> <input type="text" ng-if="user.saveAllowed" ng-model="user.limit"> <p ng-if="!user.saveAllowed">{{user.limit}}</p> </td> <td ng-if="user

下面的HTML无法按预期工作。即使我在输入框中键入,按钮仍处于禁用状态:

<form name="form">
  <td>
    <input type="text" ng-if="user.saveAllowed" ng-model="user.limit">
    <p ng-if="!user.saveAllowed">{{user.limit}}</p>
  </td>
  <td ng-if="user.saveAllowed">
    <button class="btn btn-limit btn-success" ng-click='user.setLimit(user.limit)' ng-disabled="form.$pristine">Save</button>
  </td>
</form>

当我试着按预期工作时,你能检查一下吗

angular.modulemyApp,[].controllermyCtrl,函数$scope{ $scope.user={saveAllowed:true}; }

{user.limit}

拯救
嗯,是的,这对我很有效。这可能与我使用controllerAs语法而不是$scope有关吗?嗯,我不这么认为,但你能试试吗?事实上,通读这篇文章让我觉得是我的ng if造成了问题,因为他们创建了新的作用域:这可能是因为保存按钮在ng if块中,这将完全删除内部的DOM元素并释放绑定。尝试将ng if替换为ng show。