繁体   English   中英

如何将* ngFor循环变量的值分配给角动态组件的@Input属性?

[英]How to assign value of *ngFor loop variable to angular dynamic component's @Input property?

这是对问题的完整重写,因为它似乎写得不好。

我正在尝试使用此软件包:

https://www.npmjs.com/package/ng-dynamic-component

对于具有ngFor循环变量的动态组件@Input()。

包的作者已经回答了一个问题,这似乎为解决我的确切情况。 但是我没有让它像答案中所建议的那样工作:

<div *ngFor="let tabComponent of tabComponents()">
  <ndc-dynamic 
     [ndcDynamicComponent]="tabComponent.component"
     [ndcDynamicInputs]="{ tabItem: tabComponent }"
  </ndc-dynamic>
</div>

TabContainerComponent的tabComponents -array如下所示:

  public tabComponents: ITabComponent[] = [
    { name: 'SelectedObjects', icon: 'selected-objects', isSelected: true, component: SelectedObjectsComponent },
    { name: 'DummyComponent1', icon: 'pin', isSelected: false, component: DummyComponent },
    { name: 'DummyComponent2', icon: 'selected-objects', isSelected: false, component: Dummy2Component } 
  ]

并且所有动态标签组件都具有:

@Input() tabItem: any;

根据文档,我应该添加ndcDynamicInputs:inputs,如下所示(而不是内联html:

<div *ngFor="let tabComponent of tabComponents()">
  <ndc-dynamic 
     [ndcDynamicComponent]="tabComponent.component"
     [ndcDynamicInputs]="inputs"
  </ndc-dynamic>
</div>

问题是如何在ts类中定义inputs-array:

inputs = {
  // how to assign tabComponent?
  tabItem: ??
}

那么如何将如何将* ngFor循环变量的值分配给角动态组件的@Input属性呢?

您是否尝试过[ndcDynamicInputs] =“ inputs”而不是[ndcDynamicInputs] =“ {tabItem:tabComponent}”?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM