每次用户更改页面上的数据时,我都想将表单数据保存到我的后端(理想情况下,超时等待用户停止进行更改然后保存)。
我想了几种处理方法。我可以在所有字段上放置更改事件来这样做。我也可以尝试使用计算变量,并在每次设置对象时添加对 set 方法的调用,但这似乎过于复杂。
我还没有看到很多人用 Vue JS 做这件事的例子。有明确的方法吗?有没有办法简单地说在数据对象发生变化时,运行以下函数?
每次用户更改页面上的数据时,我都想将表单数据保存到我的后端(理想情况下,超时等待用户停止进行更改然后保存)。
我想了几种处理方法。我可以在所有字段上放置更改事件来这样做。我也可以尝试使用计算变量,并在每次设置对象时添加对 set 方法的调用,但这似乎过于复杂。
我还没有看到很多人用 Vue JS 做这件事的例子。有明确的方法吗?有没有办法简单地说在数据对象发生变化时,运行以下函数?
使用debounce
输入的属性:
https://vuejs.org/guide/forms.html#debounce
然后您可以使用watch()
Yerko 建议的方法。Vue 中的属性直到超时后才会更新,此时您的watch
函数将触发。
如果这还不够强大,您必须保存该setTimeout
变量,然后取消它并在您的watch
函数中使用clearTimeout
. 这并不像听起来那么复杂,只是一个额外的变量和一个深度监视功能。