@ViewChild не определено в Angular 6 Inheritance - PullRequest
1 голос
/ 04 июня 2019

Я использую угловой 6 для реализации нижеприведенного примера. Когда это сделать в конечном итоге с неопределенной ошибкой при использовании @ViewChild в родительском. Вот фрагмент кода,

Базовый компонент

@Component({
    selector: 'comp1',
    styleUrls: ['landing.component.scss'],
    templateUrl: 'bcomponent.html'
})

export class BaseComponent implements OnInit {

    @ViewChild(QComponent) public questionModal: QComponent;

    public openQModal(): void {
         setTimeout(function() {
            this.questionModal.openModal();
        }.bind(this), 200);
    }   
}

дочерний компонент

@Component({
    selector: 'comp2',
    styleUrls: ['ccomponent.scss'],
    templateUrl: 'ccomponent.html'
})

export class ChildComponent extends BaseComponent implements OnInit {

    constructor({super ();})

} 

Когда я вызываю openQModal () из bcomponent.html, он работает нормально, но когда я вызываю тот же метод из ccomponent.html, он завершается с ошибкой «undefined».

bcomponent.html

 <div class="fd-message-block--buttons-container">
                                <button #questionnaireButton
                                        id="questionnaireButton"
                                        class="fd-button fd-button_orange fd-button_16"
                                        (click)="openQModal()"
                                        [innerHtml]="landing.buttonText | safeHtml"></button>                        
</div>

ccomponent.html * +1014 *

 <a id="btn-back" (click)="openQModal()">Click Here!!</a>
...