如何正确地将数据从 vue 组件发布到 laravel 控制器

Posted

技术标签:

【中文标题】如何正确地将数据从 vue 组件发布到 laravel 控制器【英文标题】:How to properly post data from vue component to laravel controller 【发布时间】:2021-10-14 09:45:22 【问题描述】:

我正在使用 laravel、blade 和 Vue.js。所以我想要实现的是从 Vue.js 组件发送一个道具以及表单中的所有其他内容。 问题是表单的主要部分在刀片中,但道具在Vue组件中(道具是一个对象数组,不存储在输入字段中,所以提交表单时我无法获取数据) .

我知道我可以通过 axios 发送数组,但据我所知,我需要将整个表单放入 Vue 组件中 - 我不想这样做,因为我有 2在表单中分离 Vue 组件。

我要问的是我能否以某种方式使组件在提交表单时像 html 输入字段的值一样“返回”数组。 关键是基本的表单输入将保留在刀片文件中,而自定义 vue 组件将保留在其单独的文件中。

我问这个是因为将整个表单复制到 vue 组件中对我来说似乎是非常错误的——我也可能是非常错误的 :)

感谢您提前提供任何信息!

【问题讨论】:

【参考方案1】:

我不明白为什么将表单放在 Vue 组件中是错误的,应该完全没问题,您将对数据有更多的控制权。

也就是说,如果您不想这样做,您可以捕获表单提交事件并提取表单数据,然后注入您的 Vue 组件并发出请求。示例:

<form id="myForm">
...
</form>

然后在你的 Vue.js 挂载钩子中:

mounted() 
  const form = document.body.querySelector('#myForm')
  form.addEventListener('submit', function(e) 
    e.preventDefault();
    // Here you could query the inputs you need and extract the data you need
  );
)

【讨论】:

以上是关于如何正确地将数据从 vue 组件发布到 laravel 控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何正确地将资源 (*.res) 文件添加到带有组件的包中?

我可以动态地将计算属性插入到 Vue 组件中吗

如何正确地将数据绑定到 Angular2 中的单选按钮?

如何正确地将 blob 从前端传递到后端?

如何将 Vuetify 注入我的自定义 vue 插件

如何将按下按钮时的数据添加到 Vue 3 的根目录或组件?