Mam aplikację kątową 2, która ma klasę o nazwie Użytkownik. Ten użytkownik ma atrybut o nazwie deleted_at, który ma wartość NULL lub zawiera datę/godzinę, oczywiście użytkownik jest usuwany, jeśli właściwość deleted_at nie jest pusta. Jest to, jak wygląda mój plik user.ts:Metoda wywołania z szablonu wewnątrz klasy Angular 2
User.ts
export class User {
id: number;
email: string;
created_at: string;
first_name: string;
last_name: string;
deleted_at: any;
name() {
if (this.deleted_at === null) {
return this.first_name;
} else {
return 'DELETED';
}
}
}
Teraz oczekuje się, że może po prostu zadzwonić nazwę w moim szablonu z prostych linii:
{{ user.name }}
To jednak nic nie zwraca, jak możesz wywołać pewne funkcje w szablonie kątowym 2? Czy to nie jest dozwolone?
Edit: wyczyścić rzeczy się trochę, to jest klasa użytkownika, że używam w moim składnika user-list.component.ts, wielu użytkowników są obsługiwane w ten składnik.
Dziękuję za odpowiedzi, nadal nie jestem na miejscu. Kiedy definiuję gettera tak, jak sugerujesz, otrzymuję błąd TS, który mówi: "=" oczekiwano, czy wiesz, że coś jest nie tak w składni? – hY8vVpf3tyR57Xib
Mama dziwna. Zobacz ten plunkr: https://plnkr.co/edit/Twhqy3uKbvALwTrjJh0j?p=preview. Mi to pasuje. Jakiekolwiek różnice w stosunku do tego, co próbowałeś? –
Ah błąd maszynopisu był tylko problemem składni. Główną różnicą w stosunku do twojego plunkera i mojego przykładu jest to, że w moim przykładzie przerzucam listę użytkowników w moim szablonie z: * ngFor = "let user of users", a dla każdego wpisu nazywam user.name. Zwraca pusty ciąg znaków, może to być spowodowane tym, że szablon nie rozpoznaje, że jest to obiekt klasy użytkownika? – hY8vVpf3tyR57Xib