我一直在阅读一些关于 Angular 2 陷阱和应避免的内容的文章,其中一件事围绕着不直接访问 DOM。
我注意到 Renderer
非常有用,因为它包含一些可以帮助避免 DOM 陷阱的方法。但是,我注意到它不包含任何get
函数,仅包含set
函数,例如setElementAttribute
、setElementClass
等等。
所以我的问题很简单,除了 get
和 remove
版本,你如何使用上述功能?他们住在另一个类(class)吗?例如,您如何处理检索属性或类(class)?
最佳答案
要从 DOM 中删除属性,您需要提供 null 值。
设置一个属性(如果你愿意,属性值可以是一个空字符串):
myrenderer.setElementAttribute(elementRef.nativeElement, 'attributename', 'attributevalue');
删除属性:
myrenderer.setElementAttribute(elementRef.nativeElement, 'attributename', null);
要获取元素属性值,您需要将 nativeElement 传递给 setElementAttribute,因此您可以使用它来使用标准 Javascript 获取属性值:
elementRef.nativeElement.getAttribute('attributename');
关于angular - 如何使用 "the angular way"在 Angular 2 中获取/设置/删除元素属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37895379/