gpt4 book ai didi

javascript - Vue 相同的组件输入不更新

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

我在导航菜单和用户页面重用了相同的组件

我的问题是,当导航中的 SearchComponent 输入更新其值时,Peoples 页面 SearchComponent 输入不会更新它的值,反之亦然。我应该如何在 Vue JS 中做到/实现这一点。以下是我的代码

搜索组件

<template>
<div class="search">
<input type="text" v-model="name">
<input type="text" v-model="email">
<input type="text" v-model="age">
</div>
</template>
<script>
export default {
name: 'SearchComponent',
data() {
return {
name: '',
email: '',
age: ''
}
}
}
</script>

导航

<template>
<div class="nav">
<ul>
<li>Home</li>
<li>Contact</li>
<li>About</li>
</ul>
<SearchComponent />
</div>
</template>
<script>
import SearchComponent from './SearchComponent'
export default {
name: 'NavComponent',
data() {
return {
name: '',
email: '',
age: ''
}
},
components: {SearchComponent}
}
</script>

人物页面

<template>
<div class="persons">
<SearchComponent />
<PersonList />
</div>
</template>
<script>
import SearchComponent from './SearchComponent'
import PersonList from './PersonList'
export default {
name: 'PersonsPage',
data() {
return {
name: '',
email: '',
age: ''
}
},
components: {SearchComponent, PersonList}
}
</script>

最佳答案

添加到@Eli,尝试以这种方式为所有实例的数据共享相同的对象引用:

<template>
<div class="persons">
<SearchComponent />
<PersonList />
</div>
</template>
<script>
import SearchComponent from './SearchComponent'
import PersonList from './PersonList'
const personPageData = {
name: '',
email: '',
age: ''
};
export default {
name: 'PersonsPage',
data() {
return personPageData; //Same state object referred by all instances.
},
components: {SearchComponent, PersonList}
}
</script>

关于javascript - Vue 相同的组件输入不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57720690/

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