JSON中的动态组件

时间:2019-07-04 10:34:44

标签: angular

我正在使用Angular 7,并且正在使用“ ng-dynamic-component”库创建动态组件(请参见https://www.npmjs.com/package/ng-dynamic-component)。

我这样定义我的容器元素:

import { EventsListComponent } from 'projects/test/src/public_api';

eventsElement: ContainerElement = {
    component: EventsListComponent,
    inputs: {
      Id: '584eaef3ce314feb9a3c93976fff7f30',
      from: '2019-04-09T03:45:00Z',
      to: '2019-04-26T06:50:00Z'
    },
    colspan: 2,
    mobile_colspan: 1,
    rowspan: 1,
  }

并像这样使用它们:

<ndc-dynamic [ndcDynamicComponent]="eventsElement.component"
             [ndcDynamicInputs]="eventsElement.inputs">
</ndc-dynamic>

这很好用。

现在,我想从 json 文件中读取组件的名称和输入参数:

{
  "containerElements": [
    {
      "component": "EventsListComponent",
      "inputs": {
        "assetId": "584eaef3ce314feb9a3c93976fff7f30",
        "from": "2019-04-09T03:45:00Z",
        "to": "2019-04-26T06:50:00Z"
      },
      "colspan": 1,
      "mobile_colspan": 1,
      "rowspan": 1
    }
  ]
}

我得到正确的值,但是,当然,我的组件现在只是一个字符串,而且我也没有该import语句。 我收到以下错误:

  

没有找到EventsListComponent的组件工厂。您是否将其添加到@ NgModule.entryComponents?

即使使用lib时,不必将其添加到entryComponents中,我也添加了它,但仍然是相同的错误。

有没有办法使这项工作成功?

0 个答案:

没有答案