首页 文章

每次模态打开时,使用新数据重新加载角度模态

提问于
浏览
0

我目前正在开发一个角度Web项目,该项目是加载Modal以更新报告的主要组件类 . 此Modal报告包含选项卡,其中一个选项卡是我负责的事务选项卡 . 我遇到的问题是,当我关闭更新报告模式并再次打开它时,事务选项卡仍会显示它在初始化的组件上加载的列表 . 我希望每次打开更新模式时,事务选项卡都会重新加载数据 . 这是我加载数据的地方:

enter ngOnInit() {
    this.getTransactions();
    this.getAllTransmodes();
}code here

这是获取数据的方法:

getTransactions(): void {
    this.onDeselect();
    this.response = this.reportTransactionsTabService.getTransactions(this.selectedReport.xmlGuid)
        .subscribe(
            items => {
                this.transactions = items;
                this.filteredTransactions = this.transactions;
                this.totalTransactions = this.filteredTransactions.length
                this.filterValue = "";
                this.currentSortField = null;
            },
            error => this.errorMessage = <any>error);
}

2 回答

  • 0

    ngOnInit()是组件lifeCycle钩子,它特定于您的PageComponent并在您的页面加载时被调用 . 当您使用Tab来显示交易数据时,因此当您单击选项卡时,它将不会再次重新加载您的页面 . 因此在这种情况下不会调用ngOnInit()方法 .

    您应该在单击选项卡时调用refresh / loadData方法,如下所示: <div (click)="loadData()">TransactionTab</div>

    还要在组件中定义方法

    loadData() { //Call the method for loading your data this.getTransactions(); this.getAllTransmodes(); }

  • 0

    我找到了问题的解决方案 . 我需要做的就是继承OnChanges(Angular的一个生命周期钩子):

    export class ReportTransactionsTabComponent implements OnInit, **OnChanges**
    

    然后调用ngOnChanges方法中的加载数据的函数:

    ngOnChanges() {
        this.getTransactions();
        this.getAllTransmodes();
    }
    

    如果报告“事务”选项卡发生更改,它将基本上继续调用这些方法

相关问题