Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在TypeScript数组中使用For循环并动态加载项_Javascript_Angular_Typescript_Primeng - Fatal编程技术网

Javascript 在TypeScript数组中使用For循环并动态加载项

Javascript 在TypeScript数组中使用For循环并动态加载项,javascript,angular,typescript,primeng,Javascript,Angular,Typescript,Primeng,是否可以使用for循环将项目填充到项目数组,即项目的某个部分?例如,我尝试填充以下部分的“团队”项,但无法在项:[……]字段中使用。因此,在这种情况下,我无法动态填充团队,而必须静态添加。有什么想法吗 this.items = [ { label: 'File', icon: 'pi pi-fw pi-file', items: [{ label: 'New', icon:

是否可以使用for循环将项目填充到项目数组,即项目的某个部分?例如,我尝试填充以下部分的“团队”项,但无法在
项:[……]
字段中使用。因此,在这种情况下,我无法动态填充团队,而必须静态添加。有什么想法吗

this.items = [
    {
        label: 'File',
        icon: 'pi pi-fw pi-file',
        items: [{
                label: 'New', 
                icon: 'pi pi-fw pi-plus',
                items: [
                    {label: 'Project'},
                    {label: 'Other'},
                ]
            }
        ]
    },
    {
        label: 'Teams',
        icon: 'pi pi-fw pi-ball',
        items: [
            {label: 'Team A', icon: 'pi pi-fw pi-a'},
            {label: 'Team B', icon: 'pi pi-fw pi-b'}
        ]
    },
];

这取决于您想要迭代的内容,但是您可以创建一个包含
n
项的新数组,并将这些项映射到所需的项

this.items = [
    {
        label: 'File',
        icon: 'pi pi-fw pi-file',
        items: new Array(10) // Create a new array with 10 entries
           .fill(0) // Fill that array with zeroes --> [0,0,0,0,0,0,0,0,0,0]
           .map((val, index) => ({ // supply a callback that takes each value and the index and returns anything else instead
               label: `New ${index}`, // Print the  
               icon: 'pi pi-fw pi-plus',
               items: [
                   {label: 'Project'},
                   {label: 'Other'},
               ]
           }))
    },
    {
        label: 'Teams',
        icon: 'pi pi-fw pi-ball',
        items: [
            {label: 'Team A', icon: 'pi pi-fw pi-a'},
            {label: 'Team B', icon: 'pi pi-fw pi-b'}
        ]
    },
];

您需要更清楚地了解您的用例。该对象可能在分配给此.items之前就应该建立起来。如果此.items[1].items.push({})中的更改没有被组件注意到,我不会感到惊讶。@Joe非常感谢。实际上,数据库中有一个团队表,其中包含标签和图标字段。假设数据库中有5个团队,我想填充
{label:'Team A',icon:'pi-pi-fw pi-A'}
第5部分。那么,现在清楚了吗?提前谢谢。我想我的问题是使用循环将项推送到items[]数组。但我只想添加团队部分。感谢您的帮助,但我假设数据库中有5个团队,我想填充
{label:'Team A',icon:'pi-pi-A'}
第5部分。但您迭代的是文件部分而不是团队部分。你怎么认为?提前谢谢。我想我的问题是使用循环将项推送到items[]数组。但我只想添加团队的一部分。@hexadecimal我想你的问题是这个问题不清楚。您从未提到哪个部分应该由普通for循环中的数据填充。此外,您从未提及这些数据来自何处。添加数据来源的示例,并解释您希望实现的目标,以便我可以详细说明这些内容。