Angular - 自动将指令添加到所有具有给定类的元素中

5
有没有可能使用document.getElementsByClassName("btn")来将指令程序化地添加到组件中所有具有特定类名的元素?
我想要向所有使用btn类的元素添加matRipple指令,而不需要我们的团队手动向每个元素添加指令。
或者是否还有其他方法可以将Angular Material指令应用于特定类或标签名称(例如button)的元素?
请注意,这适用于我们不希望将它们全部转换为mat-button的旧款应用程序。该指令功能正常,但我正在寻找一种使开发人员更轻松的方法。

为什么不只做一次搜索和替换呢? - waterplea
我正在寻找一段JS代码,以便我的开发人员不需要做这件事。只是好奇,因为那是显而易见的解决方案,但需要他们去做一些事情。 - Steve
1个回答

3
还有其他的方法可以将Angular Material指令应用于给定类或标签名称的元素吗(例如按钮),还是我漏掉了什么?
是的,您可以声明一个基于标记、属性、类等选择器。对于一个类,您可以将其定义为:'.class'
您可以在文档中找到所有选项。

这是一个好的了解,但需要我对指令本身进行代码更改。虽然我可以为自己的指令做到这一点,但我不想编辑Angular Material的源代码。除非我误解了... - Steve
你是正确的,@Steve。错过了您正在使用第三方指令的事实。我尝试创建一个自定义指令来包装matRipple指令并在程序中插入它,但目前似乎不可能。 这个答案 指向一个Github请求,并提供另一种选择(不确定是否适用于此用例)。还有,我应该删除这个答案吗? - GCSDC
不,你的回答可能会帮助其他人。谢谢链接! - Steve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接