angular.js组件prop接收参数,预处理参数

30 阅读1分钟
  • html
<app-card [type]="'1'" [projects]="projects"></app-card>
  • ts
  @Input() type: string = '';
  private _projects: any[] = [];
  @Input()
  set projects(values: any[]) {
    this._projects = values.reduce((acc, project) => {
      const { results, ...rest } = project;
      const reminders = results.filter((result: any) => result.type == 0);
      const taboos = results.filter((result: any) => result.type == 1);
      const recommends = results.filter((result: any) => result.type == 2);
      return [...acc, { ...rest, reminders, taboos, recommends }];
    }, []);
  }
  get projects() {
    return this._projects;
  }