gpt4 book ai didi

javascript - Angularjs - 指令上的 ng-disabled 执行顺序

转载 作者:行者123 更新时间:2023-11-30 17:01:21 24 4
gpt4 key购买 nike

我有一个带有“ng-disabled”的 Angular 指令。似乎“禁用”属性仅在我的指令的链接阶段后才更新。可以修复吗?

查看此 JSBin举个例子。

当用 'disabled="{{expression}}"替换 'ng-disabled' 时它确实有效(但这不适用于旧浏览器,即浏览器): JSBin

谢谢!

最佳答案

看看 angular 的代码,ngDisabled 指令是这样工作的:它的链接函数注册了一个更改属性的 watch 。

因此,angular 将执行该链接函数(比您的指令优先级更高),然后执行您的链接函数,然后执行摘要以更改“禁用”属性。因此,调用链接函数时未设置该属性也就不足为奇了。

https://github.com/angular/angular.js/blob/master/src/ng/directive/attrs.js#L354

如果您在 $timeout() 调用中执行 console.log 调用,它将显示正确的 CSS 属性,因为 $timeout() 在下一个摘要时执行。

关于javascript - Angularjs - 指令上的 ng-disabled 执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28787241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com