1

Lets sagen, dass ich die folgenden Routen in meinem Winkel 2-Anwendung definiert haben:Papier-Eingang Autofokus nicht innerhalb Router-Ausgang in einem Winkel 2-Komponenten arbeiten

@RouteConfig([{ 
     component: FirstRouteComponent, 
     name: "First", 
     path: "/First", 
     useAsDefault: true 
    }, 
    { 
     component: SecondRouteComponentComponent, 
     name: "Second", 
     path: "/Second" 
    }]) 
    export class AppComponent { 
    } 

und in der FirstRouteComponent Vorlage Ich habe:

<paper-input autofocus></paper-input> 

Als ich aus dem Weg „Zweite“ auf der Route „First“ (durch einige [Router] Richtlinie, die ich auf einigen einem Tag statisch in der Seite haben) navigieren das Papier-Eingang ist nicht fokussiert. Seltsamerweise, wenn ich bereits in der Route "First" bin und ich die Seite aktualisiere, wird der Papiereingang erfolgreich fokussiert.

Ich habe das Gefühl, das hat etwas mit der Art und Weise zu tun, wie der Winkel 2 Router dynamisch die Papiereingabe in die Dom, und wie Polymer den Autofokus verwendet, aber ich kann nicht auf das Problem hinweisen. Ich könnte mich jedoch irren, und dieses Problem ist "seltsam", weil ich bisher keine Probleme hatte, irgendwelche anderen Parameter an Polymerkomponenten (einschließlich Papiereingabe) in meinen Komponenten zu übergeben.

Vielen Dank im Voraus für jede Hilfe :)

+0

Es sieht aus wie 'autofocus' direkt an den inneren' ' geben wird. Hat ein natives '' das gleiche Problem mit' Autofokus'? Wenn dies der Fall ist, liegt das Problem möglicherweise außerhalb von Polymer. – tony19

Antwort

0

Sie schreiben:

<paper-input #autofocus></paper-input> 
in AppComponent: 

import { AfterViewInit, ViewChildren } from '@angular/core'; 
export class AppComponent implements AfterViewInit { 
    @ViewChildren('autofocus') fc; 
    ngAfterViewInit() { 
     this.fc.first.nativeElement.focus(); 
    } 
}