I would like to submit a form with Angular 2, but the following code is not working for me :
signup.component.html
<div class="row">
<div class="col-xs-12 col-sm-10 col-md-8 col-sm-offset-1 col-md-offset-2">
<form (ngSubmit)="onSignup(f)" #f="ngForm">
<div class="form-group">
<label for="email">Email adress</label>
<input type="email" id="email" name="email" ngModel class="form-control">
</div>
<div class="form-group">
<label for="password"> Password</label>
<input type="password" id="password" name="password" ngModel class="form-control">
</div>
<button class="btn btn-primary" type="submit">Sign Up</button>
</form>
</div>
</div>
signup.component.ts
export class SignupComponent implements OnInit{
constructor(private authService:AuthService){}
ngOnInit(){ }
onSignup(form: NgForm){
const email = form.value.email;
const password = form.value.password;
this.authService.signupUser(email, password);
}
}
app.component.ts
The Firebase application is initialized in the app component.
import * as firebase from 'firebase'
export class AppComponent implements OnInit {
ngOnInit(){
var config = {
// keys
};
firebase.initializeApp(config);
}
}
systemjs.config.js
The firebase module is mapped for typing.
map: {
app: 'app',
'firebase': 'npm:firebase/firebase.js
},
auth.service.ts
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
import * as firebase from 'firebase';
export class AuthService{
signupUser(email: string, password: string){
console.log('service triggered');
var subscription = Observable.fromPromise(firebase.auth().createUserWithEmailAndPassword(email, password));
subscription.subscribe(firebaseUser => console.log(':)'),
error => console.log(error));
}
}
Console is giving error on loading :
EXCEPTION: firebase.initializeApp is not a function