我有一个输入类型为array
的组件class FooComponent {
@Input() selectedItemIds:String[];
}
我想在父组件
中使用映射表达式<app-foo-component [selectedItemIds]='items.map(i=>i.Id)'><app-foo-component>
我得到了很好的角度误差
Bindings cannot contain assignments...
那么解决方案是什么?
**注意:我知道如何在组件类中执行它。我想知道它是否可以通过模板实现 而且代码非常简短,我只想展示我想要做的事情 **
答案 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
}