モデルが変更された後、テンプレートが角2のアプリケーションで更新されるのを待つ最善の方法を理解しようとしています。上記のコードでのsetTimeoutを使用してテンプレートが角2で更新されるのを正しく待機する方法
@Component{
template : `<button type="button" (click)="handleClick()">Click</button>
<div *ngIf="!hidden">
<input type='text' #eleInput/>
</div>`
}
export class Sample{
private hidden: boolean = true;
@ViewChild('eleInput') eleInput: ElementRef;
constructor(){}
handleClick(){
this.hidden = false;
//nativeElement is undefined here
this.eleInput.nativeElement.focus();
//nativeElement is defined here
setTimeout(() => {
this.eleInput.nativeElement.focus();
});
}
}
はハックと思われるので、私はより良いアプローチがありますかどうかを知りたいのです。
ありがとうございます!
は、[アニメーション](https://angular.io/docs/ts/latest/guide/animations.html#!#example-entering-and-leaving)に見て.. – Sasxa