1) Убедитесь, что ваш файл login.component.ts также внедряет службу.
constructor(public user:LoginService)
2) Убедитесь, что ни у одного модуля или компонента нет массива providers
, содержащего вашу службу.
Если вы регистрируете сервис, используя providedIn: 'root'
, как у вас, и не регистрируйте сервис снова в любом массиве providers
, то сервис должен быть одноэлементным и работать так, как вы ожидаете.
Кроме того, имена ваших геттеров и сеттеров неверны.Получатель и установщик должны иметь одно и то же имя 1014 *, так как они являются просто еще одним способом определения свойства:
get user():string{
return this.username;
}
set user(val: string){
this.username = val;
}
get token():string{
return this.token;
}
set token(val:string){
this.token=val;
}
get fullName():string{
return this.fullname;
}
set fullName(val:string){
this.fullname=val;
}
Затем вы получаете доступ к этим свойствам получения / установки так же, как и к любым другим объявленным свойствам..
this.fullName = "Joe Smith"; // to set the value and call the setter
console.log(this.fullName); // to reference the value.
В клиентском компоненте:
constructor(public loginService:LoginService) {
}
loadData() {
console.log(this.loginService.user)
}
ПРИМЕЧАНИЕ. Я переименовал ваш параметр конструктора, чтобы лучше его идентифицировать.
В вашем логине:
constructor(public loginService:LoginService) {
}
fLogin(user, pass) {
this.loginService.user = user;
}