我遵循了本教程:使用 Angular 6 + Firebase 云消息传递推送通知
一切正常。当我使用其他浏览器时,我可以看到我的通知被推送。我需要在这里添加我的onInit()
函数:
receiveMessage() {
this.angularFireMessaging.messages.subscribe(
(payload) => {
console.log("new message received. ", payload);
this.currentMessage.next(payload);
this.navBar.onInit();
})
}
因此,它可以刷新通知列表和通知长度。
我使用的是 Spring 引导后端,我只需要刷新通知列表。只有导航栏组件需要刷新。
我正在使用 FCM 为用户生成令牌,以便在我的数据库 (Postgres( 中进行某些更新时向其他用户发送通知。
我什至无法在该函数之外存储有效负载的值。 事件 CurrentMessage.next()
无法将有效负载的值保持在receiveMessage()
函数之外。
当我console.log
CurrentMessage
时,该值null
在receiveMessage()
函数之外。有没有办法刷新我的列表?
我基本上想从后端获得未读通知列表:
ngOnInit() {
// ......... some other code
$("body").on('DOMSubtreeModified', ".get-notification", () =>{
if($('.get-notification').text() != "" && $('.get-notification').text() != ""+this.listNotifLength){
this.GetUnreadNotification();
// console.log($('.get-notification').text());
$('.notification').removeClass('get-notification');
}
});
}
GetUnreadNotification() {
//....... some other code
$('.notification').addClass('get-notification');
$('.get-notification').text(this.listNotifLength );
}
<span class="notification" *ngIf="listNotifLength != -1" >{{listNotifLength}}</span>
这不是最好的方法,但它确实有效。如果有人有更好的主张,那就太好了。不要忘记打电话给这个。GetUnreadNotification(( 在 this.angularFireMessaging.messages.subscribe( (有效载荷( => { .... }(