gpt4 book ai didi

javascript - Vue : Input Form in a component doesn't return a value

转载 作者:行者123 更新时间:2023-11-28 16:47:08 25 4
gpt4 key购买 nike

我的“ecedata”组件中有一个带有输入字段的代码:

<template>
<div class="col-l-4">
<p style="text-align: center">Data/day (GB)</p>
<div class="form-input-set" style="background: white">
<input v-bind:value="dataday" v-on:change="$emit('changedataday', $event.target.value)" type="number" class="form-input">
</div>
</div>
</template>

<script>
export default {
name:"ecedata" ,
props: {
dataday:Number,
},
data () {
return {

}
},

}
</script>

我正在调用主 app.vue 中的组件:

<template>
<ecedata v-bind:dataday="dataday" v-on:changedataday="vuedataday" ></ecedata>
</template>

<script>
import ecedata from '@/components/ece/data/ecedata.vue'

export default {
name: 'app',
components: {
ecedata,
},
data () {
return {
dataday:0,
}
},
methods: {
vuedataday() {
alert(this.dataday)
}
},

};

</script>

但它不会以 0 以外的形式返回输入值。错误在哪里?

最佳答案

您刚刚将父组件的值绑定(bind)到子组件。

当您将 vuedataday 方法绑定(bind)为 changedataday 事件的回调时,您几乎就到了,此函数正在接收事件传递的值。

vuedataday(newDataday) {
this.dataday = newDataday;
}

进行双向绑定(bind)的另一种方法是使用v-model

<ecedata v-model="dataday"></ecedata>

还有 child

<input v-bind:value="dataday" v-on:change="$emit('input', $event.target.value)" type="number" class="form-input">

https://v2.vuejs.org/v2/guide/components.html#Using-v-model-on-Components

关于javascript - Vue : Input Form in a component doesn't return a value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60391537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com