我有一个组件app-show-on-event
,可以显示某些事件发生的时间。事件发生时,父组件中的showThisComponent
设置为true
。看看
parent.component.html
<app-show-on-event *ngIf="showThisComponent"></app-show-on-event>
在事件组件上显示有大量的子组件和子组件。其中许多包含video
个元素。我想在显示至少加载视频海报之前显示loading indicator
代替app-show-on-event
组件。
您推荐什么解决方案?
注意:我没有使用路由器。
答案 0 :(得分:0)
声明一个像
这样的变量loader:boolean = false;
showThisComponent变为true后将加载器值更改为true,如
this.loader = true;
html看起来像
<img src="path" *ngIf="loader == false">
或只是
<img src="path ro loader gif image"*ngIf="!showThisComponent">
加载程序图像显示直到showcomponent变为true
答案 1 :(得分:0)
你可以试试这样的事情
export class ChildrenComponent implements OnInit {
loaded = false;
@Output('loadedContent') loadedEvent = new EventEmitter<boolean>();
ngOnInit() {
this.loaded = ApiForContents().then(() => {
this.emitLoaded(true);
});
// if you want to catch error
}
emitLoaded(bool: boolean) {
this.loadedEvent.emit(bool);
}
}
export class ParentComponent {
spinner = true;
stopSpinner() {
this.spinner = false;
}
isLoading() {
return this.spinner;
}
}
&#13;
<!-- parent HTML -->
<spinner *ngIf="isLoading()"></spinner>
<children (loadedContent)="stopSpinner()">...</children>
&#13;