Здравствуйте, я хотел бы знать, как организовать мой код:
У меня простой пользовательский интерфейс:
export interface User {
Account: string;
Name: string;
EMail: string;
PictureURL: string;
Department: string;
JobTitle: string;
Initials: string;
Skype: string;
Office: string;
MobileNumber: string;
DirectLine: string;
IsChecked: boolean;
IsIDTitleOnly: boolean;
ID: string;
CreatedAt: string;
CreatedBy: this;
ModifiedAt: string;
ModifiedBy: this;}
У меня есть простой сервис для получения моих данных:
getCurrentUser(): Observable<User> {
const serviceUrl: string = environment.apiUrl + 'Users/Current';
return this.http.get(serviceUrl)
.map((res: User) => {
return res;
});}
И, наконец, простой компонент:
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { User } from '../../interfaces/user';
import { UserService } from '../../services/user.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
encapsulation: ViewEncapsulation.None
})
export class HomeComponent implements OnInit {
user: User;
constructor(
private userService: UserService
) { }
ngOnInit() {
this.getCurrentUser()
}
getCurrentUser() {
this
.userService
.getCurrentUser()
.subscribe(
res => { console.log(res); this.user = res },
err => { console.log(err); }
)
}
}
У меня нет класса или конструктора для моего пользователя, должен ли я всегда создавать достаточно класса или интерфейса?
Когда я отображаю свое «user.Name», у меня возникает ошибка: «Не удается прочитать свойство« Имя »неопределенного», потому что у пользователя не было времени для восстановления данных.
Мне бы очень хотелось знать, как правильно инициализировать моего пользователя и знать, нужен ли мне класс или нет (если однажды мне придется создать нового пользователя).
Спасибо заранее