import { Component } from '@angular/core';
import { Loginservice } from './services/login.service';
import { FormGroup, FormControl, Validators } from '@angular/forms';
import { Router } from '@angular/router';
@Component({
selector : 'app-login',
templateUrl : 'user-login.html',
styleUrls : ['styles/login-style.css']
})
export class UserLogin{
public userDetail:any[];
public islogin:boolean;
public routers : Router;
constructor(private service:Loginservice){
}
loginform = new FormGroup({
username : new FormControl('',[Validators.required, Validators.minLength(5)]),
password : new FormControl('',[Validators.required, Validators.minLength(5)])
});
get username(){
return this.loginform.get('username');
}
get password(){
return this.loginform.get('password');
}
getStyle(){
return {
'font-size': '11px',
'text-align': 'center'
};
}
authLogin(loginObj){
let username = loginObj.value.username;
let password = loginObj.value.password;
let postdata = {'username':username, 'password':password};
//console.log(postdata);
this.service.validateUser(postdata)
.subscribe(
response => {
this.islogin= response.json().status=='1'?true:false;
//alert(this.islogin);
//console.log(response);
this.routers.navigate(['/register']);
},
error =>{
alert(error+"asdsadsa");
}
);
}
}
これは私のコンポーネントのコードです。私はログインすると、共通のヘッダーとフッターを持つ別のコンポーネントに行きたいと思っています。どのコンポーネントにも渡されず、 "未定義のプロパティ 'navigate'を読み取ることができません。もう1つは、ログイン/登録を除く各コンポーネントに共通のヘッダーファイルとフッターファイルを追加する方法を知りたいということです。ログイン後、URLをAngular js(4.4.6)でナビゲートしたい
つまり、this.routersは未定義です。これは、質問に投稿した内容に基づいて私たちが言うことができる唯一の有用なものです。もちろん、それが未定義となる理由は36つありますが、コードを投稿した方がずっと簡単です。バグがそこにあります。角張っていない –
これは、タイプミスや依存関係のインポートが原因である可能性があるため、コンポーネントコードを投稿してください。これらの両方の可能性は、あなたが提供したコードでは確認できません。 –
今、コンポーネントコードを掲載しました。今私を助けてください... – Irshad