Новичок в angularjs 2, мне нужно использовать @viewChild, но он выдает ошибку «Невозможно прочитать свойство 'rotateLeft' of undefined». родитель:
<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();
}}
Ребенок:
@Component({
selector: 'pdfReader',
templateUrl: 'pdfReader.html'
})
export class PdfReader{
@Input() imageUrl : any;
rotateLeft(){
console.log('rotateLeft called');
this.rotationAngel -= 90;
}
}
@ViewChild()
. Вам не кажется, что это самая важная часть вашего вопроса? - person Günter Zöchbauer   schedule 02.02.2017console.log(this.pdfReader);
вngAfterViewInit()
? Является ли HTML в вашем вопросе частью шаблона компонентов. Пожалуйста, добавьте декораторы@Component()
и имя класса компонентов в код. - person Günter Zöchbauer   schedule 02.02.2017