javascript - 未捕获的类型错误:无法使用具有角度延迟加载的firebase云消息推送通知读取未定义的属性“id”
问题描述
我从媒体关注这个博客: https ://medium.com/mighty-ghost-hack/angular-8-firebase-cloud-messaging-push-notifications-cc80d9b36f82
我的 message.service.ts 文件:
import { Injectable } from '@angular/core';
import { AngularFireMessaging } from '@angular/fire/messaging';
import { BehaviorSubject } from 'rxjs'
@Injectable()
export class MessagingService {
currentMessage = new BehaviorSubject(null);
constructor(private angularFireMessaging: AngularFireMessaging) {
this.angularFireMessaging.messaging.subscribe(
(_messaging) => {
_messaging.onMessage = _messaging.onMessage.bind(_messaging);
_messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);
}
)
}
requestPermission() {
this.angularFireMessaging.requestToken.subscribe(
(token) => {
console.log(token);
},
(err) => {
console.error('Unable to get permission to notify.', err);
}
);
}
receiveMessage() {
this.angularFireMessaging.messages.subscribe(
(payload) => {
console.log("new message received. ", payload);
this.currentMessage.next(payload);
})
}
}
我的 app.component.ts 文件:
import { Component } from '@angular/core';
import { MessagingService } from '../app/core/services/messaging.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
message;
constructor(
private messagingService: MessagingService
) {}
ngOnInit(){
this.messagingService.requestPermission()
this.messagingService.receiveMessage()
this.message = this.messagingService.currentMessage
}
}
如果发现任何错误,请帮助任何人。谢谢!
解决方案
推荐阅读
- php - 请求 ajax 不适用于 php 验证
- jsf - OmniFaces o:validateOneOrMore 跳过有条件禁用的字段
- apache-spark - Spark SaveAsTable 需要很多时间
- assembly - 如何将 [es:di] 重写为 att 语法
- android - 清除活动 Android
- javascript - 如何将唯一的可访问/可传递值烘焙到多个显示按钮中?
- r - 无法使用 R 的 tm 中的 DataframeSource 从数据帧中获取元数据
- html - 单击带有一些动画效果的li元素如何从底部缓慢移动到顶部位置
- python - 如何保存来自 python 循环的不同名称的多个绘图?
- maven - 删除万能插件