上記の同じシナリオでは、親子コンポーネントのそれぞれにOnInit
インターフェイスを実装し、ライフサイクルフックメソッドngOnInit()
を使用してcomponentHandler.upgradeAllRegistered();
を呼び出すことでこれを行いました。私のソースからのサンプル: のDashBoardコンポーネント(親)
@Component({
templateUrl : './app/dash/dashboard.html',
directives : [ROUTER_DIRECTIVES,MenuComponent],
Encapsulation : ViewEncapsulation.NONE
})
export class DashBoard implements OnInit{
userFullname : string;
imagePath : string;
constructor(private _router : Router){}
ngOnInit() {
this.imagePath = 'app/dash/avatar.png';
componentHandler.upgradeAllRegistered();
this.userFullname = localStorage.getItem('user');
}
}
その後Menuコンポーネント(子)
@Component({
selector : 'menu-pane',
templateUrl : './app/dash/menu/menu.html',
providers : [HTTP_PROVIDERS,MenuService],
directives : [ROUTER_DIRECTIVES]
})
export class MenuComponent implements OnInit{
routesReady : boolean;
routerView : any[];
constructor(private menuServ : MenuService, private _router : Router){}
ngOnInit(){
componentHandler.upgradeAllRegistered();
this.routerView = [];
}
}
私はスニペットを把握する少し混乱していると思いますが、あなたすべてのコンポーネントのngOnInit()のメソッドを単に呼び出すことができます
私は同意します!しかし、Material2はまだその最初の始まりですが、そのような基本的なコンポーネントはまだありません。私はMaterial2がMaterial1ほどに豊かになることを楽しみにしています。 –