Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问附加了ng disabled的响应元素?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何访问附加了ng disabled的响应元素?

Javascript 如何访问附加了ng disabled的响应元素?,javascript,angularjs,Javascript,Angularjs,是否有一种干净的方法可以访问给定给它的函数中附加了ng disabled属性的元素 Html元素: 我正在寻找另一种方法,然后将元素作为参数传递 在函数中 设计用于模型2,不允许在控制器中手动操作DOM元素,这在angularjs中被认为是一种不好的做法。但无论如何,您仍然可以手动创建和操作禁用的属性1: 角度。模块'myApp',[] .指令'myDisabled',[function{ var myDisabled={ 限制:“A”, 范围:假, 链接:functionscope、元素、属

是否有一种干净的方法可以访问给定给它的函数中附加了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.
您不能在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"