Javascript 如何访问附加了ng disabled的响应元素?
是否有一种干净的方法可以访问给定给它的函数中附加了ng disabled属性的元素 Html元素: 我正在寻找另一种方法,然后将元素作为参数传递 在函数中 设计用于模型2,不允许在控制器中手动操作DOM元素,这在angularjs中被认为是一种不好的做法。但无论如何,您仍然可以手动创建和操作禁用的属性1: 角度。模块'myApp',[] .指令'myDisabled',[function{ var myDisabled={ 限制:“A”, 范围:假, 链接:functionscope、元素、属性、ngModelCtrl{ 作用域。$watchfunction{ 返回范围.$evalattrs.myDisabled.applyscope,元素; },functionval{ 元素。prop'disabled',val; }; } } 返回myDisabled; }] .controller'MyCtrl',['$scope',函数MyCtrl$scope{ $scope.isFieldDisabled=功能元素{ 返回angular.elementelement.hasClass'disabled'; } $scope.inputs=[{},{disabled:true},{}]; $scope.isInputDisabled=函数输入{ return!!input.disabled; }; }]; 1. 2.Javascript 如何访问附加了ng disabled的响应元素?,javascript,angularjs,Javascript,Angularjs,是否有一种干净的方法可以访问给定给它的函数中附加了ng disabled属性的元素 Html元素: 我正在寻找另一种方法,然后将元素作为参数传递 在函数中 设计用于模型2,不允许在控制器中手动操作DOM元素,这在angularjs中被认为是一种不好的做法。但无论如何,您仍然可以手动创建和操作禁用的属性1: 角度。模块'myApp',[] .指令'myDisabled',[function{ var myDisabled={ 限制:“A”, 范围:假, 链接:functionscope、元素、属
您不能在angularjs中将元素传递给控制器的函数,但是为什么不利用ng class指令,因为您的类和禁用的值相互依赖
ng-class="{needsDisabling: isDisabled}" ng-disabled="isDisabled"
我想不出你为什么不这样做的原因,因为
如果类不是动态的,则不需要禁用ng。
你可以使用disabled=disabled,但我想这不是原因。
如果类的值在angular的值之外动态切换
知识,那么这部分解决方案是有问题的,应该
可以改变。
在angularjs中处理这个问题的另一个原因是,正如这里有人指出的那样,创建您自己的指令。关于元素,您到底需要访问什么?为什么不将一个参数传递给isFieldDisabled方法呢?您可能想看看这个主题:另外,您可以使用输入元素的相关ng模型,在本例中它丢失了,所以我猜您想添加它。这是我想这样访问它的原因。但我想没有其他方法可以将其作为参数传递给函数:/
$scope.isFieldDisabled = function () {
// How can I access the element where the ng-disabled prop is attached to in this function ?
// if (element has class "needsDisabling")
// return true;
}
ng-class="{needsDisabling: isDisabled}" ng-disabled="isDisabled"