作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们尝试使用(Firebase/ionic2/angularjs2)通过谷歌身份验证登录。我们的代码
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Observable } from 'rxjs/Observable';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
user: Observable<firebase.User>;
constructor(public navCtrl: NavController,public afAuth: AngularFireAuth) {
this.user = afAuth.authState;
}
login() {
this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
}
logout() {
this.afAuth.auth.signOut();
}
}
但是我们收到错误:
Error: Uncaught (in promise): Error: No provider for AngularFireAuth!
Error: No provider for AngularFireAuth!
请指导我们代码中的内容。
最佳答案
澄清 @rmalviya 建议的内容,我假设您当前使用的是 Ionic 版本 3.x.x,对于此版本,您有两种方法导入 native 插件并为插件添加相应的提供程序。
1) 您可以在当前页面 typescript 文件中添加提供程序。像这样:
import { AngularFireAuth } from 'angularfire2/auth';
...
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [AngularFireAuth]
})
2)第二种方法,您可以将其导入到 app.modules.ts 中并将插件添加到提供程序中
import { AngularFireAuth } from 'angularfire2/auth';
...
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
AngularFireAuth
]
关于firebase - 未捕获( promise ): Error: No provider for AngularFireAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928553/
我是一名优秀的程序员,十分优秀!