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