2016-05-23 34 views
1

不起作用可以說,我有我的角2應用程序定義下列路線:紙張輸入自動對焦路由器插座裏面的角2部分

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

和我的FirstRouteComponent模板有:

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

當我從路線「二」的路線「第一」(通過某些[routerLink]指令,我在頁面上有一些標籤靜態)導航 紙張輸入不集中。奇怪的是,如果即時通訊已經在路線「第一」,我刷新頁面紙張輸入成功聚焦。

我有一種感覺,這事做與角2路由器動態insertes紙張輸入到DOM的方式,和聚合物如何使用自動對焦,但我不能指出問題所在。我可能是錯的。因爲我還沒有任何形式的問題,現在才傳遞任何其他參數在我的組件聚合物組分(包括紙張輸入)這個問題是「怪異」。

預先感謝任何幫助:)

+0

它看起來像'autofocus'直接傳遞到內''。是否本地''表現出與'autofocus'同樣的問題?如果是這樣,這個問題可能在Polymer之外。 – tony19

回答

0

你可以寫:

<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(); 
    } 
}