如何在Ionic 2中点击按钮重新加载当前页面?

4

我有一个需求,需要在当前页面的刷新按钮被点击时刷新当前页面的内容。我查看了一些网站,但对这个功能不是很清楚。有谁能建议我如何实现这个功能?


1
你能添加你的代码以及你尝试过的内容吗? - Madhu Ranjan
发布你的代码并更具体地说明。你需要重新加载什么?是页面的内容吗?在这个页面上,你是否进行了API调用或类似的操作?使用刷新器,它更好,更干净,有更好的用户体验。 - Gabriel Barreto
4个回答

8
在你的刷新按钮被点击时,你可以调用页面事件方法ionViewWillEnter()。
根据官方文档,ionViewWillEnter()会在页面即将进入并成为活动页面时运行。
HTML。
<button (click)="refreshPage()">Refresh Page</button>

Typescript

    ionViewWillEnter(){
            this.myDefaultMethodToFetchData();
        }

    refreshPage() {
        this.ionViewWillEnter();
    }

    myDefaultMethodToFetchData(){
        ...Do Something, when the page opens...
    }

这对我很有效...易于重用...非常简单和快速的解决方案。谢谢。 - saber tabatabaee yazdi

0

在构造函数中添加此代码,然后将页面名称替换为您的页面名称

    this.navigationSubscription = this.router.events.subscribe((e: any) => {
           if (e instanceof NavigationEnd && e.url === '/page-name' && localStorage.getItem('prevUrl') === '/page-name') {
            this.ionViewWillEnter();
            this.ngOnInit
           }
        });


0

这个会起作用!!! 将其放在按钮点击事件调用的函数下面。

this.navCtrl.setRoot(this.navCtrl.getActive().component);

或者

在您的页面上使用ionViewWillEnter生命周期事件。 您可以将正确的代码放入该方法中,以刷新页面上所有必要的内容。 https://ionicframework.com/docs/api/navigation/NavController/


-1
尝试这个: 只需弹出一个页面,然后再次推送该页面。 希望这能帮到你 :)

this.navCtrl.pop(); this.navCtrl.push(NewPage);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接