【发布时间】:2019-10-20 16:58:37
【问题描述】:
我创建了一个列表组件,成功地通过一组项目运行并通过*ngFor 循环输出其数据。
现在我想重用这个组件并添加更多可能的数据数组以供选择。为此,创建了一个@input,允许我将数组名称“传递给”组件,无论它在哪里使用,但是当我尝试将它传递给*ngFor 时出现错误。
我的 ts 代码是:
@Input() listName : string;
list1: any = [
{title: 'title1'},
{title: 'title2'},
{title: 'title3'},
]
list2: any = [
{title: 'titlea'},
{title: 'titleb'},
{title: 'titlec'},
]
组件如下所示:
<app-listcomp listName="list1"></app-listcomp>
我认为这不是组件内部的正确语法:
*ngFor="let listItem of {{listName}}"
但无法退出找到是通过@Input(或任何其他正确方式)传递数组名称的正确方法。
当我在 *ngFor 循环中使用特定的数组名称时,它当然可以完美运行。
【问题讨论】:
-
如果listName是一个数组作为输入,那么它应该是*ngFor="let listItem of listName",也贴出组件代码。