我正在开发AngularJS客户端。我有一个自定义指令用作属性。该指令检查元素的访问级别,并将其设置为禁用,如果当前用户不被允许使用它。ng禁用覆盖自定义指令行为
当同一元素具有ng-disabled
属性时,问题就开始了。在这种情况下,ng-disabled
设置元素的能力,而不用介意我在自定义指令中设置的内容。
例如我有一个按钮,应该禁用的情况下,表单无效。同时我想使用我的自定义指令来设置按钮被禁用,如果用户没有使用它的授权。
<button ng-disabled="myFrm.myCtrl.$invalid" my-custom-directive="controlName"/>
Inside myCustomDirective
我检查是否允许用户激活指定的控件。如果没有 - 我将disabled属性设置为元素。但如果myFrm.myCtrl.$invalid
为假ng-disabled
删除禁用的属性,并启用按钮。
有没有解决这个问题的方法?我如何防止ng-disabled执行其操作?
分享一些代码将有助于快速解决 –
不确定它是否是一个好主意,但是我们不能将'myFrm.myCtrl'传递给该指令,并相应地在$ scope中设置一些布尔值,然后可以*观察它* by'ng-disabled' –