ngIf似乎没有削减它(组件加载,即使如果不匹配).
我没有使用路由器(不需要它用于应用程序),所以我不认为@CanActivate在这种情况下是合适的.
有任何想法吗?
@Component({ selector: 'my-app',directives: [MyDirective],template: ` <div> <div *ngIf="!initialized">Loading...</div> <div *ngIf="initialized"><myDirective>should wait for service to be initialized</myDirective></div> </div>` }) export class AppComponent { initialized = false; constructor(_myService: MyService) { this._myService = _myService; } ngOnInit() { this._myService.init() .then(() => { setTimeout( () => this.initialized = true,2000); } ); } }
这样,您的组件不需要等待,它只是使用占位符数据,您当然可以在组件内部进行测试,并相应地显示您的模板,当数据从父级准备就绪,更新它时,更新孩子.
我希望这有帮助.