从Angular 2类内部模板调用方法

前端之家收集整理的这篇文章主要介绍了从Angular 2类内部模板调用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个角度2应用程序,有一个名为User的类.此用户有一个名为deleted_at的属性,该属性为null或包含日期时间,显然,如果deleted_at属性不为null,则删除用户.这是我的user.ts文件的外观:

User.ts

  1. export class User {
  2. id: number;
  3. email: string;
  4. created_at: string;
  5. first_name: string;
  6. last_name: string;
  7. deleted_at: any;
  8.  
  9. name() {
  10. if (this.deleted_at === null) {
  11. return this.first_name;
  12. } else {
  13. return 'DELETED';
  14. }
  15. }
  16. }

现在我希望我可以用一个简单的行在模板中调用name:

  1. {{ user.name }}

然而,这不会返回任何内容,如何在角度2模板中调用某些函数?或者这不允许吗?

编辑:要清除一些东西,这是我在我的组件user-list.component.ts中使用的类用户,在此组件中处理多个用户.

要么像这样调用方法
  1. {{user.name()}} // instead of {{user.name}}

对于这种方法,您需要知道您将丢失执行上下文(this).有关详细信息,请参阅此问题:

> ng-lightning – data object is undefined on lookup

或者您将方法定义为getter,以便在模板中使用user.name:

  1. get name() {
  2. if (this.deleted_at === null) {
  3. return this.first_name;
  4. } else {
  5. return 'DELETED';
  6. }
  7. }

猜你在找的Angularjs相关文章