Angular 使用表达式(map)的角度2组件输入绑定

Angular 使用表达式(map)的角度2组件输入绑定,angular,typescript,Angular,Typescript,我有一个输入类型为array的组件 class FooComponent { @Input() selectedItemIds:String[]; } 我想在父组件的绑定中使用映射表达式 <app-foo-component [selectedItemIds]='items.map(i=>i.Id)'><app-foo-component> 那么解决方案是什么呢 **注意:我知道如何在组件类中实现它。我想知道是否可以通过模板实现 代码非常简短,我只是想展示

我有一个输入类型为array的组件

class FooComponent  {  
@Input() selectedItemIds:String[];
}
我想在父组件的绑定中使用映射表达式

<app-foo-component [selectedItemIds]='items.map(i=>i.Id)'><app-foo-component>
那么解决方案是什么呢

**注意:我知道如何在组件类中实现它。我想知道是否可以通过模板实现 代码非常简短,我只是想展示一下我想做什么
**

在尝试将映射函数传递到
之前,请调用
*.ts
文件中的映射函数。如果您试图这样做,因为您的组件是在数组完成之前构建的,那么请创建一些属性来保存它

<app-foo-component *ngIf="itemsReady" [selectedItemIds]='items'><app-foo-component>

在尝试将项目传递到组件之前,能否将项目映射到
*.ts
文件中?项目位于ts文件中,它是一个对象数组。换句话说,您不能在绑定中进行此映射。在尝试传递数组之前,需要准备好该数组。如果您试图这样做,因为您的组件是在阵列完成之前构建的,那么请在

<app-foo-component *ngIf="itemsReady" [selectedItemIds]='items'><app-foo-component>
itemsReady = false;

mapFunction() {
  // do your mapping and when it's complete set this.itemsReady = true
}