我一直在尝试使我的媒体资源具有反应性,但是由于某种原因,它无法正常工作。我的属性用于两个Vue组件之间。我可以正常访问组件,但这只是这个属性
在子组件中,我有一个下拉列表,并从中选择一个用户。我想将其传递给父组件
该下拉列表是一个自定义控件,因此无法粘贴其代码。但是,一旦选择了用户,就会触发一个事件,并且我可以在调试器中看到选中的用户成功触发了偶数。现在的问题是将值传递给父级。
子组件中的事件:
computed: {
...mapGetters(["selectedParentControl"]),
},
methods {
onUserSelected(items){
Vue.set( this.selectedParentControl, 'userObject', items )
}
}
父模板:
<div v-if="userObject">
<p class="mb-0">First User: {{this.userObject}}</p>
</div>
但是父组件中的变量不会更新。
答案 0 :(得分:0)
因此,如果我答对了,您想为自定义组件设置双向数据绑定。因此,您可以使用v-model
。
在子组件中定义prop并发出值更改。
props: ['userObject'],
methods {
onUserSelected(items){
this.$emit('userObject', items);
}
}
在父组件中,将v-model
指令添加到子组件元素中:
<div v-if="userObject">
<child v-model="userObject"></child>
<p class="mb-0">First User: {{this.userObject}}</p>
</div>