gpt4 book ai didi

Angularjs 2 @viewChild 不工作

转载 作者:太空狗 更新时间:2023-10-29 18:25:50 24 4
gpt4 key购买 nike

angularjs 2 的新手,我需要使用@viewChild,但它会抛出错误,如'无法读取未定义的属性'rotateLeft'父级:

<div><pdfReader [imageUrl]="imgsource" *ngIf="holeDocument.ext == 'pdf'"></pdfReader></div> 

.ts

import { Component ,ViewChild } from '@angular/core';
import {PdfReader} from "../../shared/pdfreader/pdfReader";
@Component({
selector: 'docView',
templateUrl: 'docView.html',
styleUrls : ["docView.less"]
})
export class DocViewComponent{
@ViewChild('PdfReader') public pdfReader: PdfReader;
constructor(){}
ngAfterViewInit(){
this.imageRotate();
}
imageRotate(){
this.pdfReader.rotateLeft();
}}

child :

@Component({
selector: 'pdfReader',
templateUrl: 'pdfReader.html'
})
export class PdfReader{
@Input() imageUrl : any;
rotateLeft(){
console.log('rotateLeft called');
this.rotationAngel -= 90;
}
}

最佳答案

如果使用组件类型查询,那么引号就多余了

@ViewChild(PdfReader) public pdfReader: PdfReader;

如果您使用字符串作为查询,则需要一个匹配的模板变量

<div><pdfReader #PdfReader [imageUrl]="imgsource" *ngIf="holeDocument.ext == 'pdf'"></pdfReader></div> 

另见 angular 2 / typescript : get hold of an element in the template

关于Angularjs 2 @viewChild 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com