Angular2: представления, хранящиеся в базе данных

#angular #typescript #angular2-components

#angular #typescript #angular2-компоненты

Вопрос:

Я работаю над прототипом графического интерфейса с использованием Angular2. Одним из наиболее важных требований является сохранение HTML-кода (шаблона компонента) в базе данных. Мне приходит в голову только одно решение:

  • Создайте набор компонентов:

    • мой макет
    • мое поле
    • my-text-box
  • Сохраните в базе данных что-то вроде этого:

<my-layout [rows]="" [cols]=""...>
<my-field [name]="" [length]=""...></my-field>
<my-text-box [name]=""...></my-text-box>
</my-layout>

  • Создайте «компонент-загрузчик», который получает шаблон из базы данных и загружает все компоненты.

На данный момент я безуспешно пытаюсь создать «загрузчик-компонент».Он создает компонент динамически, но я не могу установить данные из базы данных в качестве шаблона компонента. Если я использую «Средство визуализации», оно печатает только текст. Он не распознает селекторы компонента.

Есть идеи?

Я не уверен, следует ли этот подход «угловому пути», и я думаю, что мы пытаемся сделать что-то, для чего Angular не создан.

Кто-нибудь знает какую-нибудь современную библиотеку / фреймворк JS для достижения этого ???.

Большое вам спасибо!

Комментарии:

1. Я не уверен, следует ли этот подход Angular-way : я уверен, что это не так. Вся идея заключается в создании пакета JS, содержащего весь компонент: код, шаблон и стиль. И идея состоит даже в том, чтобы пойти дальше с AOT: скомпилировать приложение во время сборки, чтобы создать пакет, содержащий уже скомпилированный компонент (т. Е. Заменить шаблон инструкциями JS), и избежать связывания компилятора angular templae с приложением. Шаблон является неотъемлемой частью компонента. Он должен быть модульно протестирован и иметь версию с кодом компонента. Хранение его в базе данных выглядит ужасно для меня.

2. @JBNizet Спасибо за ваш комментарий!. Я согласен с вами, выглядит ужасно и, как вы сказали, вы не можете это проверить.