Загрузка нескольких динамических компонентов Angular CLI в родительский компонент - PullRequest
0 голосов
/ 19 апреля 2019

Я разрабатываю угловое приложение с динамическими видами. Таким образом, пользователи могут настроить вид по своему выбору (что просматривать / нет). Настроить деталь можно легко, но часть просмотра данных довольно сложна с точки зрения углов (или я не могу понять это). Я хочу загрузить несколько динамических компонентов с загруженными данными (например, если их тег выбора находится внутри этого динамического компонента, я хочу загрузить его данные опций и добавить этот компонент в мой основной компонент). Другое дело, я хочу проверить, какие динамические компоненты хотят загрузить в основной компонент. Является ли это возможным? Кто-нибудь делал это раньше?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

Надеюсь, эта справка:

app.component.ts:

import { Component, NgModule, Compiler } from '@angular/core';
import { RouterModule, Router } from '@angular/router';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html'
})
export class AppComponent  {

  constructor(private compiler: Compiler,
              private router: Router) {}

  createDynamic() {
    const template = '<span>generated on the fly</span>';
    const tmpCmp = Component({template: template})(class {});

    const routes = [{path: '', component: tmpCmp}];
    const tmpModule = NgModule({
      imports: [RouterModule.forChild(routes)],
      declarations: [tmpCmp]})(class {});

    this.compiler.compileModuleAsync(tmpModule).then((module) => {

      const appRoutes = [...this.router.config];

      const route = {
        path: 'dynamic',
        loadChildren() { return module }
      };

      appRoutes.push(route);

      this.router.resetConfig(appRoutes);
      this.router.navigateByUrl('/dynamic');
    });
  }
}

app.component.html:

<p>
  Dynamic Routes
</p>


<router-outlet></router-outlet>

<button (click)="createDynamic()">Go Dynamic</button>

загрузка компонента динамически, стекблиц

0 голосов
/ 19 апреля 2019

Может быть, вы ищете:

...