角度2分量输入绑定使用表达式(map)

时间:2017-11-04 12:23:13

标签: angular typescript

我有一个输入类型为array

的组件
class FooComponent  {  
@Input() selectedItemIds:String[];
}

我想在父组件

中使用映射表达式
<app-foo-component [selectedItemIds]='items.map(i=>i.Id)'><app-foo-component>

我得到了很好的角度误差

Bindings cannot contain assignments...

那么解决方案是什么?

**注意:我知道如何在组件类中执行它。我想知道它是否可以通过模板实现 而且代码非常简短,我只想展示我想要做的事情 **

1 个答案:

答案 0 :(得分:1)

在尝试将其传递给*.ts之前,请先调用<app-foo-component>文件中的地图功能。如果您正在尝试这样做,因为您的组件是在阵列完成之前构建的,那么创建一些属性保持它。

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

然后在*.ts文件中,您可以创建一些函数来进行映射

itemsReady = false;

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