Push-уведомление FCM не обновляет представление при вызове в receiveMessage - PullRequest
0 голосов
/ 30 апреля 2019

Я следовал этому учебнику : Push-уведомления с Angular 6 + Firebase Cloud Messaging

Все работает отлично.Я вижу уведомления, когда я использую другой браузер.Мне нужно добавить мою onInit() функцию здесь:

receiveMessage() { 
    this.angularFireMessaging.messages.subscribe( 
    (payload) => { 
    console.log("new message received. ", payload); 
    this.currentMessage.next(payload); 
    this.navBar.onInit();
    }) 
} 

, чтобы она могла обновлять список уведомлений и длину уведомлений.

Я использую бэкэнд Spring Boot, и мне нужно только обновить список моего уведомления.Только компонент NavBar нуждается в обновлении.

Я использую FCM для создания токенов для пользователей, чтобы я мог отправлять уведомления другим пользователям, когда в моей БД (Postgres) производится какое-то обновление.

Я не могу даже сохранить значение полезной нагрузки вне этой функции.событие CurrentMessage.next() не может удерживать значение полезной нагрузки вне функции receiveMessage().

Когда I console.log, то CurrentMessage значение равно null вне функции receiveMessage().Есть ли способ обновить мой список?

1 Ответ

0 голосов
/ 01 мая 2019

В основном я хотел получить список непрочитанных уведомлений из моего BackEnd:

 
 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>

Это не лучший способ сделать это, но на самом деле это работает. Если у кого-то есть лучшее предложение, это было бы здорово. не забудьте вызвать this.GetUnreadNotification () внутри this.angularFireMessaging.messages.subscribe ( (полезная нагрузка) => {....})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...