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

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

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';
        }
    }
}

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

{{ user.name }}

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

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

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

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

> ng-lightning – data object is undefined on lookup

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

get name() {
  if (this.deleted_at === null) {
    return this.first_name;
  } else {
    return 'DELETED';
  }
}

猜你在找的Angularjs相关文章