【发布时间】:2019-08-22 11:22:03
【问题描述】:
我正在学习 VueJS2 以与 Laravel 一起使用,但最终在将数据从父级发送到子级并返回事件时遇到了一些困难。昨天我在 Google 和 Stack 上进行了几次搜索。
我试图告诉孩子,用户点击了父组件上的提交按钮,孩子必须从输入中获取数据并将其返回给父组件以发送。
userForm.blade.php
// Only part of the content
<b-form method="PATCH" action="/users/store">
<b-userform to-send-data="sendCall"></b-userform>
</b-form>
formComponent.vue
// Part of <script>
data() {
return {
senCall: false
};
},
methods: {
getChildData(e) {
this.sendCall = true;
console.log("FormComponent: 1");
console.log(e);
},
sendForm(data) {
console.log("FormComponent: 2");
console.log(data);
}
}
userFormComponent.vue
// Part of <Script>
props: {
toSendData: false
},
methods: {
sendData: function() {
console.log("UserForm: 1");
}
},
watch: {
toSendData: function() {
console.log("Change? " + this.toSendData);
}
}
我尝试将to-send-data="sendCall" 更改为:to-send-data="sendCall" 但收到错误:
[Vue 警告]:属性或方法“sendCall”未在实例上定义,但在渲染期间被引用。
更完整的代码: CodeSandbox
感谢您的帮助。
编辑:
在未定义的帮助下,我在 VueJS 文档中阅读了有关插槽/作用域插槽的更多信息,在另一个社区中,一位用户给了我link,以更好地了解父母和孩子的数据流。
为了工作的代码,我从 Blade 文件中删除了 to-send-data="sendCall" 并将其放在 formComponent.vue 文件的 <slot :to-send-data="sendCall"></slot> 中。
【问题讨论】:
标签: vuejs2 laravel-5.8