我一直在阅读一些关于Angular 2陷阱的文章以及要避免的内容,其中一个问题围绕着不直接访问DOM.
我注意到它Renderer非常有用,因为它包含一些可以帮助避免DOM陷阱的方法.然而,我注意到,它不包含任何get功能,只set等功能setElementAttribute,setElementClass等等.
所以我的问题很简单,你如何使用上述功能,但作为get和remove版本?他们是否住在另一个班级或者您如何使用例如检索属性或类?
Dav*_*vid 17
要从DOM中删除属性,请提供null值.
设置属性(如果您愿意,属性值可以是空字符串):
myrenderer.setElementAttribute(elementRef.nativeElement, 'attributename', 'attributevalue');
Run Code Online (Sandbox Code Playgroud)
要删除属性:
myrenderer.setElementAttribute(elementRef.nativeElement, 'attributename', null);
Run Code Online (Sandbox Code Playgroud)
要获取元素属性值,您需要传递给setElementAttribute的nativeElement,因此您可以使用它来使用标准Javascript获取属性值:
elementRef.nativeElement.getAttribute('attributename');
Run Code Online (Sandbox Code Playgroud)
Angular2不提供任何支持来从DOM ElementRef和事件中获取任何内容.
Angular2方法是维护模型中的状态并更新DOM以反映该状态.
如果您需要从DOM读取,您可以使用直接DOM访问或提供自定义Renderer,提供您在默认情况下缺少的功能Renderer.
自定义渲染器的示例
| 归档时间: |
|
| 查看次数: |
26998 次 |
| 最近记录: |