我想知道为什么当我们在js中更改它的ng-model值时,相应的select elem的$ dirty不会改变。
这是非常基本的(http://jsfiddle.net/HB7LU/2859/)
//HTML
<select name="mySelect" ng-model="value" ng-options="item for item in data"></select>
//JS
function MyCtrl($scope, $timeout) {
$scope.value = "1";
$scope.data = ["1", "2"];
$timeout(function() {
$scope.value = "2";
}, 3000);
}
这是有角度的错误吗?或$ dirty不应该设置?
最佳答案
当您手动更改输入值时,Angular会为您将输入设置为$ dirty。
要以编程方式执行此操作,请使用$setDirty();
您可能还会发现this question有用。