首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ng2智能表中调用filterFunction()中的方法?

如何在ng2智能表中调用filterFunction()中的方法?
EN

Stack Overflow用户
提问于 2018-05-29 18:07:45
回答 1查看 2.1K关注 0票数 1

我正在尝试使用'this‘关键字从filterfunction()调用一个方法。然而,我意识到'this‘指的是事件处理程序而不是组件,并且我为'this’获得的值为空,因此我得到了一个运行时错误。

代码语言:javascript
复制
export class SmartTableComponent {

  settings = {
    ...
    columns: {
      ...
      firstName: {
        title: 'First Name',
        type: 'string',
        filterFunction(cell?: any, search?: string): boolean {          
          return this.doFilter(cell, search);
        }
      },
      ...
    },
    ...
  };


  doFilter(cell?: any, search?: string): boolean{
    return true;
  }
}

在Java中,我们将通过使用SmartTableComponent.this.doFilter(...)获得对'this‘的引用。但这似乎在TypeScript中不起作用。

如何从ng2- filterFunction -table中调用组件的方法?

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 03:26:49

似乎,通过使用lambda表达式而不是匿名函数,“this”的值是从包装器类中维护的。所以,这就是解决方案:

代码语言:javascript
复制
export class SmartTableComponent {

  settings = {
    ...
    columns: {
      ...
      firstName: {
        title: 'First Name',
        type: 'string',
        filterFunction:(cell?: any, search?: string) => {
          return this.filterByText(cell.doc[0]['value'], search);
        },
      },
      ...
    },
    ...
  };


  doFilter(cell?: any, search?: string): boolean{
    return true;
  }
}

我的想法是:Angular 4 , 'this' is undefined when using callback 'onComponentInitFunction' function of ng2-smart table

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50581664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档