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"> </set>
<set name="JUL-SEP" value="7"> </set>
<set name="OCT-DEC" value="3"> </set>
<set name="JAN-MAR" value="3"> </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'));