Ниже мой компонент. Точка ошибки - часть this.router.navigate()
. После входа в систему я хочу перенаправить пользователя на другую страницу, что-то похожее на $state.go('dashboard')
.TypeError: Невозможно прочитать свойство 'router' of null Angular2 Router
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { AngularFire } from 'angularfire2';
@Component({
templateUrl: 'app/auth/login.component.html'
})
export class LoginComponent {
constructor(private af: AngularFire, private router: Router) { }
onSubmit(formData) {
if(formData.valid) {
console.log(formData.value);
this.af.auth.login({
email: formData.value.email,
password: formData.value.password
}).then(function(success) {
console.log(success);
this.router.navigate(['/dashboard']);
}).catch(function(err) {
console.log(err);
this.router.navigate(['/dashboard']);
})
}
}
}
И я продолжаю получать эту ошибку. Пожалуйста, просветите меня, что я делаю неправильно?
Спасибо, очень ценит простые простые ответы. Теперь он работает. Мне нужно больше познакомиться с TypScript или es6, что бы это ни было: – Rexford
@Rexford yeah, np, с которым вы будете учиться, спасибо :) –
Вместо использования функций стрелок вы можете передать область действия другой функции? Как в этой ситуации, передавая область this.handleError: .catch (this.handleError)? – Anthony