У меня есть модель пользователя, которую я хочу использовать, и отображать «полное имя» на основе свойств.
export class User {
id: number;
firstName: string;
lastName: string;
constructor() {
}
//getting called later
getFullName() {
return this.firstName + " " + this.lastName;
}
}
Я вызываю, пытаюсь использовать функцию getFullName()
в компоненте HTML :
<select>
<option *ngFor="let user of userList" [ngValue]="user">
{{user.getFullName()}}
</option>
</select>
Если я позвоню user.firstName
и user.lastName
, полное имя будет отображаться, как ожидалось, но с приведенным выше кодом я вместо этого получаю следующую ошибку:
MyComponent.html:3 ERROR TypeError: _v.context.$implicit.getFullName is not a function
at Object.eval [as updateRenderer] (MyComponent.html:3)
at Object.debugUpdateRenderer [as updateRenderer] (core.js:45294)
at checkAndUpdateView (core.js:44277)
at callViewAction (core.js:44637)
at execEmbeddedViewsAction (core.js:44594)
at checkAndUpdateView (core.js:44272)
at callViewAction (core.js:44637)
at execComponentViewsAction (core.js:44565)
at checkAndUpdateView (core.js:44278)
at callViewAction (core.js:44637)
Здесь это мой поиск списка пользователей:
export class MyComponent implements OnInit {
userList: User[];
constructor(private httpClient: HttpClient) {
}
ngOnInit() {
this.httpClient.get<User[]>("http://localhost:8090/user/getAll").subscribe(
userList => {
this.userList = userList;
console.log(userList);
}
);
}
}
Почему он не распознает getFullName()
как функцию?