【发布时间】:2019-04-23 02:01:45
【问题描述】:
在组件模板中,我正在使用 ElementRef 选择一个 svg 元素。它工作正常,但是当我构建应用程序并打开它时 elementRef 为空。
@Component({
selector: 'app-svg',
template: `<div id="root">
<object [data]='trustedUrl' type="image/svg+xml" height="450" width="650" #dataSvg></object>
</div>`,
styleUrls: ['./svg.component.css']
})
constructor(private sanitizer: DomSanitizer, private elRef: ElementRef) {
}
elementRef 目标
@ViewChild('dataSvg') dataSvg: ElementRef;
将它传递给 elementRef 变量
ngOnInit() {
this.elementRef = this.elRef.nativeElement.querySelector('#dataSvg');
}
加载内容后,我正在选择 svg:
ngAfterContentInit() {
const elementRef = this.elementRef;
// when content is loaded...
elementRef.addEventListener('load', function (event) {
// ...retrieve svg element
elementRef.querySelector('svg') 为空
当我运行“npm run build”并转到 dist/index.html 时,contentDocument> 为空:
【问题讨论】:
标签: angular dom elementref