tflori / angular-translator

translation module for angular
https://tflori.github.io/angular-translator/
MIT License
21 stars 6 forks source link

@ViewChild gives wrong element #69

Closed javix closed 6 years ago

javix commented 6 years ago

Hi, ich versuche das Problem lieber auf Deutsch zu beschreiben, wenn es für dich kein Problem ist.

Ich habe einen Button:

<button class="btn btn-secondary"
                    #discardButton
                    [disabled]="model.disabled"
                    (click)="onDiscard()"
                    translate="{{ model.discardButtonText }}"></button>

Nun versuche ich das Element per @ViewChild zu referenzieren:

    @ViewChild( 'discardButton' )
    public discardButton: ElementRef;

Um dann das Element zu fokusieren:

    @Override()
    public ngAfterViewInit(): void {
        setTimeout( () => {
            $( this.discardButton.nativeElement ).focus();
        }, 100 );
    }

Nun ist discardButton keine Instanz von ElementRef, sondern von TranslateComponent. Wenn ich die translate-Direktive entferne, dann funktioniert alles.

javix commented 6 years ago

Sorry, habe das gelöst, liegt an Angular. In diesem Fall geht das so:

    @ViewChild( 'discardButton', {read: ElementRef} )
    public discardButton: ElementRef;