我在 vuex 中有一个任务列表。我在一个组件中有一个按钮,它将添加一个任务。我还有一个后端服务器,它将任务存储在数据库中。
现在,我的设置是这样的:
Button->Ajax->Backend Response->Update Vuex->Vue Updates Frontend
我想要的是:
Button->Update Vuex->Ajax/Vue each do their thing.
我遇到的问题是,在数据库创建它之前,我没有该项目的 ID。我可以在本地创建一个临时 id 并将其作为临时 id 发送到服务器,但这似乎很乱。我不会存储它,我只会在 vuex 中使用它来更新从服务器返回的对象。
例如,假设数据库表任务如下所示:
id | title
我怎么知道来自服务器的响应对应于我刚刚推入 Vuex 的对象?我无法按标题查找,因为它不是唯一的。我无法通过 id == null 进行查找,因为在收到服务器响应之前,我可能会创建多个任务。
我可以在 Vuex 中做到这一点:
id | title | vuex_id
我可以使用来自服务器的响应来查找我设置的具有 vuex_id 的任务,并使用数据库中的 id 对其进行更新。
感觉应该有一种更简洁的方法来让前端立即做出反应。