Очевидно, обмен «Разработка программного обеспечения» был неправильным местом, чтобы задавать такой вопрос:
Я более или менее изучаю стек MEAN (еще не начал с Angular, поэтому сейчас использую обычную ваниль JS для внешнего интерфейса), а часть того, что я создаю для своего портфолио, - это конструктор форм с перетаскиванием.
В настоящее время в форме есть разделы, содержащие вопросы, которые могут содержать несколько вариантов, например а также несколько последующих / дополнительных вопросов (которые затем могут содержать свои собственные варианты, но не дополнительные).
E JS помогает мне с исходной визуализацией сохраненной формы с использованием вложенных for..of
циклов, однако мой вопрос вступает в игру при добавлении новых элементов в форму.
В настоящее время у меня есть ванильный интерфейс JS, который просматривает некоторые теги template
на странице, а затем заполняет их новыми разделы, вопросы и варианты.
Однако это не кажется очень DRY, потому что я использую по существу тот же logi c в E JS при первоначальном рендеринге t страницу (хотя и несколько раз).
Чтобы сделать мой код более пригодным для повторного использования, следует ли мне писать функции на бэкэнде, которые передаются в вызов E JS render как для первоначального рендеринга, так и затем доступный для внешнего интерфейса JS, или приведите переменную E JS, содержащую форму (из MongoDB), непосредственно во внешний интерфейс JS и используйте там функции как для первоначального рисования страницы, так и для добавления новые элементы ? Мы надеемся, что оба они будут использовать теги template
в HTML. Один из них быстрее и / или безопаснее другого?
Другой вариант также может заключаться в использовании частичных файлов E JS для разделов, вопросов и опций для отображения страницы, но я не знаю, как включить это во внешний интерфейс JS для добавления новых элементов без использования template
s, что по сути то, что я делаю сейчас.