gpt4 book ai didi

vue.js - 在另一个组件中从一个 Vue 单个组件获取数据?

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:34 26 4
gpt4 key购买 nike

我使用 Vue.js 2.5.13 并具有以下结构:

component-one.vue:

    <template>
<div>
<input type="text" v-model="input_one">
<component-two></component-two>
</div>
</template>

<script>
import ComponentTwo from 'component-two.vue'

export default {
name: "component-one",
components: {
ComponentTwo
},
data() {
return {
input_one: 'Hello from ComponentOne',
input_two: ... // <-- I want to get value from ComponentTwo input_two (v-model) here
}
}
}
</script>

component-two.vue:

    <template>
<div>
<input type="text" v-model="input_two">
</div>
</template>

<script>
export default {
name: "component-two",
data() {
return {
input_one: 'Hello from ComponentTwo'
}
}
}
</script>

如何在组件ComponentOne中获取ComponentTwo的数据?这对我来说很重要,因为我有很多类似的字段组件(巨大的注册站点表单)并且不知道如何在 Vue 组件之间调用数据..

最佳答案

Vuejs 使用“ Prop ” 进行父/子通信,并“发出”事件 进行子/父通信

enter image description here

您必须记住,对于传递给子组件的每个 Prop ,您都应该将该 Prop 添加到 Prop 数组中。这同样适用于事件:您发出的每个事件都应该在父组件中被捕获,如下所示:

component-one.vue:

    <template>
<div>
<input type="text" v-model="input_one">
<component-two
@CustomEventInputChanged="doSomenthing">
</component-two>
</div>
</template>

<script>
import ComponentTwo from 'component-two.vue'

export default {
name: "component-one",
components: {
ComponentTwo
},
data() {
return {
input_one: 'Hello from ComponentOne',
input_two: ''
}
},
methods: {
doSomenthing ( data ) {
this.input_two = data;
}
}
}
</script>

component-two.vue:

    <template>
<div>
<input type="text" v-model="input_two" @change="emitEventChanged>
</div>
</template>

<script>
export default {
name: "component-two",
data() {
return {
input_one: 'Hello from ComponentTwo'
}
},
methods: {
emitEventChanged () {
this.$emit('CustomEventInputChanged', this.input_two);
}
}

}
</script>

这应该可行

关于vue.js - 在另一个组件中从一个 Vue 单个组件获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48500685/

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