gpt4 book ai didi

angular - Ionic Tabs 不要多次进入页面的构造函数

转载 作者:太空狗 更新时间:2023-10-29 18:13:16 25 4
gpt4 key购买 nike

我正在尝试制作一个从选项卡打开的通知页面。打开页面后,它需要自行刷新,以便新通知可见,并且这些通知将被检查为已读并且选项卡上的徽章将为 0。

第一次打开通知页面,进入构造函数后,再次进入。

之前还好好的,后来就不行了,不知道是什么原因。

通知页面;

constructor(public events: Events, public navCtrl: NavController, public 
navParams: NavParams, private notificationservice: NotificationService,
private loadingCtrl: LoadingController) {

this.notificationservice.getNotifications(AuthService.currentUser.UserId).then(
data => {
this.notifications = data;

this.notificationservice.unreadNotificationCount().then(data => {
if(data != 0)
{
this.notificationservice.readNotification().then(data => {
this.updateBadge();
this.navCtrl.setRoot(this.navCtrl.getActive().component);
});
}
});
});
}

public updateBadge()
{
this.notificationservice.unreadNotificationCount().then(data => {
console.log(data);
this.events.publish('cart:updated', data);
});
}

标签页;

constructor(public navCtrl: NavController, public navParams: NavParams, 
private notificationservice: NotificationService, public events: Events) {

this.updateBadge();

this.events.subscribe('cart:updated', (count) => {
this.badge = count;
});
}

public updateBadge()
{
this.notificationservice.unreadNotificationCount().then(data => {
console.log(data);
this.events.publish('cart:updated', data);
});
}

选项卡 View ;

Tabs with badge

最佳答案

问题是页面只是第一次创建,然后因为它已经存在,所以不会再次创建。如果您需要在每次选择选项卡时执行一些代码,请使用 ionViewDidEnterionViewWillEnter 生命周期 Hook :

constructor(...) {
// Will be executed only once
// ...
}

ionViewWillEnter() {
// Will be executed every time the user selects this tab
// ...
}

// or

ionViewDidEnter() {
// Will be executed every time the user selects this tab
// ...
}

关于angular - Ionic Tabs 不要多次进入页面的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45452958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com