使用角度2中的viewchild更新元素的innerhtml

Posted

技术标签:

【中文标题】使用角度2中的viewchild更新元素的innerhtml【英文标题】:Update innerhtml of element using viewchild in angular 2 【发布时间】:2018-01-21 21:22:34 【问题描述】:

我有像

这样的 html 元素
<section class="" #hiddenElement>
    <span>title</span>
    <span class="value"></span>
</section>

我使用

访问组件中的元素
@ViewChild('hiddenElement') hiddenElement: ElementRef;

如何更新class为value的元素的innerhtml?

【问题讨论】:

【参考方案1】:

你可以使用nativeElement.children获取hiddenElementchildren,通过className过滤它们并使用element.innerHTML修改它们的innerHTML

类似的东西

Array
    .from(this.hiddenElement.nativeElement.children)
    .filter(c => c.className.includes('value'))
    .forEach(c => c.innerHTML = 'New innerHTML');

plnkr

【讨论】:

以上是关于使用角度2中的viewchild更新元素的innerhtml的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 中使用多个 ViewChild 元素 (2/4)

Angular 2 @ViewChild 返回未定义

viewChild如何获取angular2中用js添加的元素?

在 html 中动态命名 div 并使用 @ViewChild('xyz') div: ElementRef;在角度

Angular 2+:获取@ViewChild() 的子元素

Angular Viewchild undefined