Можно ли динамически загружать шаблон компонента из «обычного текста» в Angular2? - PullRequest
0 голосов
/ 05 июня 2019

Сейчас я работаю над созданием платформы для пользователей, которая позволяет динамически добавлять и редактировать пользовательские страницы (состоит из встроенных компонентов).

Моя идея:
1. пользователь нажимает кнопку добавления страницы.
2. backend создает файл .ts, например:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-added-page1',
  template: '<h1>hello!</h1>'
})
export class AddedPage1 implements OnInit {
  constructor() { }
  ngOnInit() {
  }
}


3. пользователь редактирует макет и редактирует файл .ts в Web IDE,

@Component({
  selector: 'app-added-page1',
  template: '
      <h1>my table</h1>
      <button (click)="onRefresh()"> refresh </button>
      <my-table [data]="_data"></my-table>
'
})
export class AddedPage1 implements OnInit {
  _data = [];
  constructor() { }
  ngOnInit() {
  }
  onRefresh(){
    _data = [1,2,3,4,5];
  }
}


4. когда пользователь нажимает сохранить, серверная часть сохраняет все содержимое в базе данных.

Итак, возникает проблема: возможно ли динамически загрузить этот компонент ('AddedPage1') в Angular?

Я обнаружил несколько упомянутых потоков об использовании 'ViewContainerRef' & 'ComponentFactoryResolver' ( ref ). Но этот подход кажется доступным только для существующих компонентов (до компиляции).

Я использую Angular 7.2.11.
Любой опыт или направление будет принята с благодарностью !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...