Ich habe versucht, ein Array zu aktualisieren, nachdem eine Benachrichtigung von Onesignal wie so erhalten:Ionic - Onesignal - Auf handleNotificationReceived nicht aktualisiert Ansicht
getMsg.ts:
getMsg = Array<Object> = [];
...
constructor(... private oneSignal: OneSignal ...) {
...
this.oneSignal.handleNotificationReceived().subscribe(() => {
this.getMessage();
console.log('handleNotificationReceived');
});
}
getMessage() {
this.getMsg.push({ text: 'some text' });
console.log('getMessage');
// Push is working
console.log(JSON.stringify(this.getMsg)); // [{"text":"some text"}]
}
getMsg.html:
...
<ion-list *ngFor="let m of getMsg">
<ion-item>
<p>{{ m.text }}</p>
</ion-item>
</ion-list>
...
Aber es nicht wie erwartet funktionieren.
Ich habe eine <textarea>
in meiner getMsg.html
Datei, wenn ich es eintippe, wird die Ansicht magisch aktualisiert (nachdem ich eine Benachrichtigung erhalten).
Und natürlich, wenn ich die Funktion getMessage()
direkt verwenden, funktioniert es.
Was ich auch versuchte, ist die Ansicht mit aktualisieren/neu zu laden:
this.navCtrl.setRoot(this.navCtrl.getActive().component);
, aber ohne Glück.
Ionic: v3.4.0
Cordova: v7.0.1