AngularFireAuth循环依赖
创始人
2024-10-24 20:30:45
0次

在AngularFireAuth的提供程序(configuration)上使用forwardRef()解决此循环依赖问题。具体而言,在Firebase服务中,您可以这样写:

import { Injectable, forwardRef } from '@angular/core'; import { AngularFireAuth } from '@angular/fire/auth'; import { Firebase } from '@firebase/app-types';

@Injectable({ providedIn: 'root', }) export class FirebaseService { firebase: Firebase;

constructor( @Inject(forwardRef(() => AngularFireAuth)) private auth: AngularFireAuth ) { this.firebase = (window as any).firebase; }

loginWithFacebook() { return this.auth.signInWithPopup(new this.firebase.auth.FacebookAuthProvider()); } }

这里使用@ Inject(forwardRef(())使Angular在遇到此类循环引用时能够解析依赖项。

此外,还可以将FirebaseService作为AngularFireAuth的提供程序之一,如下所示:

import { Injectable } from '@angular/core'; import { AngularFireAuth } from '@angular/fire/auth'; import { Firebase } from '@firebase/app-types';

@Injectable({ providedIn: 'root', deps: [AngularFireAuth], useFactory: (auth: AngularFireAuth) => new FirebaseService(auth), }) export class FirebaseService { firebase: Firebase;

constructor(private auth: AngularFireAuth) { this.firebase = (window as any).firebase; }

loginWithFacebook() { return this.auth.signInWithPopup(new this.firebase.auth.FacebookAuthProvider()); } }

这种方法可以将FirebaseService视为AngularFireAuth的依赖项之一,从而解决循环依赖问题。

相关内容

热门资讯

WPK俱乐部妙招!aapoke... WPK俱乐部妙招!aapoker可以开挂吗,德州微扑克好像存在有透视挂教程aapoker可以开挂吗透...
WPK作弊妙计!wepoker... WPK作弊妙计!wepoker破解游戏盒子,德州微扑克本来真的是有透视app小薇(辅助器软件下载)致...
WPK真假法门!aapoker... WPK真假法门!aapoker透视脚本安装包,德州微扑克竟然存在有开挂技巧aapoker透视脚本安装...
WPK辅助器绝活儿!wepok... WPK辅助器绝活儿!wepoker有透视底牌吗,德州微扑克一贯有开挂工具1、wepoker有透视底牌...
WPK私人局法子!wepoke... WPK私人局法子!wepoker软件靠谱么,德州微扑克好像是真的有透视挂插件进入游戏-大厅左侧-新手...
WPK方法课程!wepoker... WPK方法课程!wepoker透视脚本苹果,德州微扑克真是有辅助器脚本1、在wepoker透视脚本苹...
WPK私人局学习!wepoke... 您好,wepoker私人局俱乐部辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704...
WPK工具方案!wepoker... WPK工具方案!wepoker免费透视脚本,德州微扑克果然是有开挂技巧1、wepoker免费透视脚本...
WPK德州局策略!wepoke... 您好,wepoker有辅助工具吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
WPK模拟器方式!wepoke... WPK模拟器方式!wepoker有用吗,德州微扑克果然存在有辅助方法1、进入到wepoker有用吗是...