Vue
HTML
<div id="app">
<form class="form" action="">
<div class="form__section">
<div class="form__title">{{ form.section.title }}</div>
<input v-for="item in form.section.items" :placeholder="item">
</div>
<div class="form__section">
<div class="form__title">{{ form.another.title }}</div>
<textarea v-for="item in form.another.items" :placeholder="item"></textarea>
</div>
<div class="form__section">
<div class="form__title">{{ form.more.title }}</div>
<label v-for="item in form.more.items"><input type="checkbox"> {{item}}</label>
</div>
</form>
</div>
CSS
.form__section {
margin-bottom: 15px;
}
label {
display: block
}
Vue
new Vue({
el: "#app",
data: {
form: {
section: {
title: "Текстовые поля",
items: [
'Input 1',
'Input 2'
]
},
another: {
title: "Текстовые области",
items: [
'textarea 5',
'textarea 8'
]
},
more: {
title: "Чекбокс",
items: [
'checkbox 3',
'checkbox 2',
'checkbox 1'
]
}
}
}
})