我在一個角度項目上有一個奇怪的錯誤,這些是代碼片段@Injectable()export class FirebaseMessagingService { public tokenReceivedEmitter: any = new EventEmitter(); public messageReceivedEmitter: any = new EventEmitter();constructor( private angularFireMessaging: AngularFireMessaging) { this.angularFireMessaging.messaging.subscribe( (messaging) => { messaging.onMessage = messaging.onMessage.bind(messaging); messaging.onTokenRefresh = messaging.onTokenRefresh.bind(messaging); } );}/** * request permission for notification from firebase cloud messaging * * @param userId userId */requestPermission(userId) { this.angularFireMessaging.requestToken.subscribe( (token) => { this.tokenReceivedEmitter.emit({status: true, result: token}); }, (err) => { this.tokenReceivedEmitter.emit({status: false, result: err}); } );}/** * hook method when new notification received in foreground */receiveMessage() { this.angularFireMessaging.messages.subscribe( (payload) => { this.messageReceivedEmitter.emit(payload); });}這就是 firebase 消息服務,它在收到推送通知時發出令牌接收事件?,F在在組件中ngOnInit(){ // Subscribing to firebase token receive this.firebaseTokenSubscription = this.messagingService.tokenReceivedEmitter.subscribe( (message) => { if (message.status) { const token = message.result; this.sendNotificationToken(token); } else { this.snackBar.open(message.result, this.translate.instant('CLOSE') {duration:3000}); } } );}
Angular *ngIf 單擊頁面或 alt+tab 后更新(重新聚焦)
慕碼人8056858
2023-08-21 17:26:35