假设我在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;因为我之前在组件中将任何其他参数传递给聚合物组件(包括纸张输入)都没有任何问题。
提前感谢您的任何帮助:)
答案 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();
}
}