Уже есть довольно хорошее руководство по динамическим формам .У него длинная версия.Очень упрощенная версия: вы создаете классы и шаблоны для каждого возможного элемента формы, класс для ввода, класс для раскрывающегося списка.Когда вы получаете данные со структурой, такой как, например,
[{
"name":"input 1",
"type":"input"
},
{
"name":"input 2",
"type":"input"
},
{
"name":"drop down 1",
"type":"dropdown"
}
]
Angular соберет форму на основе классов и шаблонов HTML, которые вы создали ранее.
PS
Пожалуйста, потратьте время и прочитайте официальный учебник, это гораздо веселее, чем мое объяснение:)