1
我有一个表组件:Angular 2,我应该采取哪种方法来显示加载指示?
@Component({
moduleId: module.id,
selector: 'ag-table',
template: `
<span *ngIf="isLoading">Loading</span>
<table class="table">
rows loaded through @Input() rows;
</table>
`
})
然后,我有一个父组件:现在
@Component({
moduleId: module.id,
selector: 'ag-page',
template: `
<ag-table [rows]=rows></ag-table>
`
})
,在AG-页,我需要从服务器获取数据,所以我做通过服务的http请求,比方说page.service.ts。在这一刻,我想在我的ag表中显示加载指示。
哪种方法最好?
使用@ViewChild通过ag-page获取组件实例并将isLoading设置为true?
创建一个table.service.ts,将它注入到TableComponent并使用observables来检测数据何时加载。
另一个建议?
有趣的是,它太简单了,我想我只能以这些复杂的方式来做到这一点...当我在ag页面中点击刷新数据按钮时,我需要设置this.rows = undefined;再次重复这个过程吧? –
是的,如果你想添加一个刷新按钮,你只需要'删除this.rows'或'this.rows = null'或类似的东西。我只是意识到你可以做到这一点更容易(我已经做了编辑) –
不要忘记验证答案,如果它满足你的需要。 –