正如你在这个问题本身所指出的,你可以在Vue.js
创建可重用components,再次和再次使用相同的HTML模板。您可以从您的代码的简单VUE component如下:
Vue.component('child', {
template: '\
<div class="input-field col s12 m6 l6"> \
<input :id="id" type="text" v-model="value"> \
<label for="txtboxid">Middle Name *</label> \
</div> \
',
props: [
"id", "value"],
watch: {
value: function(newVal){
this.$emit('input', newVal)
}
}
})
,它可以在你的HTML只需使用单一行中使用:
<child v-model="full_name" id="24"></child>
请检查工作小提琴手here。
在我使用watch上面的代码,你也可以使用event handler上改变@change
得到full_name
父更新,演示here。
一些解释:
我使用v-model这里。 <input v-model="something">
这里,基本上是语法糖:
<input v-bind:value="something" v-on:input="something = $event.target.value">
您可以在组件中使用它来创建组件和v-model
发送您varaible并接受它作为props。
只需我2美分,把你的ID和名称放入一个对象或数组中,使用v-for循环它们。 ID可以通过使用v-bind来设置。 – choasia
@choasia ha!我喜欢这个想法。 – FewFlyBy
用Vue查看[fiddle](https://fiddle.jshell.net/mimani/ajy0e03c/)。请享用! – Saurabh