这是一个简单的Vue 2.0表单组件。它由一个数字输入和一个按钮组成,例如:
请注意,输入值使用data
与组件v-model
绑定。 buttonText
作为道具传递。
将默认值传递到表单的最佳方法是什么,以便它最初使用10以外的值呈现?
props
似乎不是正确的方法,因为v-model
不再正常工作。data
无法以道具的方式传递。
<template>
<form v-on:submit.prevent="onSubmit">
<input v-model="amount" type="number" min="1" max="20"></input>
<button type="submit">{{ buttonText }}</button>
</form>
</template>
<script>
export default {
props: [ 'buttonText' ],
data: function() {
return {
amount: 10
}
},
methods: {
onSubmit: function() {
this.$emit("submit", parseInt(this.amount) );
}
}
}
</script>
答案 0 :(得分:4)
你可以传入一个道具(比如initialAmount
),并在初始化数据函数中的amount
值时引用它:
export default {
props: {
buttonText: { type: String },
initialAmount: { type: Number, default: 10 },
},
data: function() {
return {
amount: this.initialAmount
}
},
methods: {
onSubmit: function() {
this.$emit("submit", parseInt(this.amount) );
}
}
}