纸张输入自动对焦在角度2组件中的路由器插座内部不起作用

时间:2016-05-23 11:14:02

标签: angular polymer angular2-routing paper-elements autofocus

假设我在angular 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>

当我从路线导航&#34;第二&#34;到路线&#34;第一&#34; (通过我在页面中静态标记的某些[routerLink]指令) 纸张输入没有集中。奇怪的是,如果我已经在路线&#34;第一&#34;然后我刷新纸张输入成功聚焦的页面。

我有一种感觉这与角度2路由器动态地将纸张输入插入dom的方式有关,以及聚合物如何使用自动对焦但我无法指出问题。我可能错了,这个问题很奇怪&#34;因为我之前在组件中将任何其他参数传递给聚合物组件(包括纸张输入)都没有任何问题。

提前感谢您的任何帮助:)

1 个答案:

答案 0 :(得分: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();
    }
}