Javascript ajax调用和html呈现后的角度数据访问

Javascript ajax调用和html呈现后的角度数据访问,javascript,angular,css-selectors,rendering,Javascript,Angular,Css Selectors,Rendering,嗨,我正试图弄明白这一点,但还没有这样做。非常感谢您的帮助 我的组件中有一个元素: <div [innerHtml]="reportData" class="widget" #reportDisplayHost></div> 呈现html数据后,我希望访问一些嵌套元素,如下所示: @ViewChild('reportDisplayHost') reportDisplayHost: ElementRef<any>; console.log(this.repo

嗨,我正试图弄明白这一点,但还没有这样做。非常感谢您的帮助

我的组件中有一个元素:

 <div [innerHtml]="reportData" class="widget" #reportDisplayHost></div>
呈现html数据后,我希望访问一些嵌套元素,如下所示:

@ViewChild('reportDisplayHost') reportDisplayHost: ElementRef<any>;
console.log(this.reportDisplayHost.nativeElement.querySelector('chart'));
@ViewChild('reportDisplayHost')reportDisplayHost:ElementRef;
log(this.reportDisplayHost.nativeElement.querySelector('chart');
当我尝试这样做时,我得到了一个null,但我在页面上看到了元素

<chart exportenabled="1" showalternatehgridcolor="0" basefontsize="11" basefont="Roboto" showborder="0" bgcolor="#ffffff" showshadow="0" use3dlighting="0" legendshadow="0" legendbordercolor="ffffff" showlegend="1" useplotgradientcolor="0" showplotborder="0" showcanvasborder="0" palettecolors="26478d" useroundedges="0" labeldisplay="Rotate" slantlabels="1" yaxismaxvalue="100" yaxisminvalue="0" showvalues="1" yaxisname="Score" xaxisname="Month" caption="Quarterly Score Trends">

<set name="APR-JUN" value="4">&nbsp;</set>
<set name="JUL-SEP" value="7">&nbsp;</set>
<set name="OCT-DEC" value="3">&nbsp;</set>                                                                                                                           
<set name="JAN-MAR" value="3">&nbsp;</set>   
</chart>

我该怎么做


提前谢谢

在分配
this.reportData
之后,您希望在开始查询子节点之前给Angular一个更新DOM的机会

在查询更新的DOM之前,可以调用触发更改检测运行:

constructor(private cd: ChangeDetectorRef, private sanitizer: DomSanitizer) {}

// ...

this.reportData = this.sanitizer.bypassSecurityTrustHtml(html);

// Update the DOM
this.cd.detectChanges();

// Now we can access the updated DOM
console.log(this.reportDisplayHost.nativeElement.querySelector('chart'));

这是一个。

非常感谢。我正在看这个,但不太明白它是如何工作的。
constructor(private cd: ChangeDetectorRef, private sanitizer: DomSanitizer) {}

// ...

this.reportData = this.sanitizer.bypassSecurityTrustHtml(html);

// Update the DOM
this.cd.detectChanges();

// Now we can access the updated DOM
console.log(this.reportDisplayHost.nativeElement.querySelector('chart'));