【发布时间】:2019-04-20 08:44:06
【问题描述】:
我有一个父子组件 ShowreelApp.vue 和 Showreel.vue。我在创建它时将属性传递给孩子。
<showreel-component
v-for="showreel in showreels"
v-bind="showreel"
:key="showreel.id"
@update="update"
@delete="del"
></showreel-component>
然后我使用道具在每个子节目中填充更新表单。
<div class="showreel-input">
<label>Heading</label>
<input type="text" :value="myHeading" >
</div>
在子表单中,我向父组件发出更新事件以更新特定的 showreels 数据。
update(event) {
this.$emit('update', this.id, this.heading, this.subheading, this.youtubeid);
}
当用户单击子 Showreels 组件表单上的更新按钮时,我想将数据发送给父级。 但是,我无法将数据绑定到子表单的输入字段,因为这会导致有关更改属性的警告,因为我不应该更新子表单中的值。
我想到的一个选项是在子级中创建每个值的副本...在创建时将它们更新为传入的道具,将它们绑定到表单输入...然后使用这些值将这些值传递给我的父级更新时发出。
但是这些对我来说似乎有点令人费解,现在我想我走错了路。任何建议将不胜感激。
【问题讨论】:
标签: forms vue.js components