我在一个 html 页面中有多个表单,每个表单都执行一些操作,如添加、编辑。
每个表单都有 ng-disabled 指令,用于检查某些条件,并在发生某些更改时触发相应的 ng-disabled 函数。
问题是当一个表单更改值时,它会触发每个表单的所有 ng-disabled 函数。
代码 :
<body ng-controller="MainCtrl">
<div ng-form="myForm">
<input type="text" required ng-model="user.name" placeholder="Username">
<button ng-click="doSomething()" ng-disabled="check() || myForm.$invalid">DO</button>
</div>
<div ng-form="myForm2">
<input type="text" required ng-model="user.name2" placeholder="Username">
<button ng-click="doSomething2()" ng-disabled="check2() || myForm2.$invalid">DO</button>
</div>
</body>
脚本代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.check = function() {
console.log("check called");
}
$scope.check2 = function() {
console.info("check two called");
}
});
您可以在控制台中看到它在模型之一更改时运行所有功能。