我有以下功能:
this.store.createRecord('user', params).save().then(()=>{
this.set('responseModal', 'Utworzono użytkownika!');
})
我的问题是:为什么 Ember 在服务器响应之前推送记录来存储? 例如:我错误地填写了表单,我的服务器返回错误和状态:400,但没有 id-key 的记录仍在存储中。我尝试过这样的事情:
.catch(()=>{
user.unloadRecord();
});
但是当某些记录显示并立即隐藏时,它看起来很糟糕。有什么方法可以在没有外部库的情况下仅在服务器响应后在商店中创建记录?我只想使用 ember-data 将客户端与服务器连接。如有任何意见和建议,我们将不胜感激
最佳答案
如果表单提交未成功,那么我们将使用用户已提供的数据再次尝试。所以我们需要将数据存储在store
中。如果您正在导航到其他页面或不想再次尝试使用旧数据,那么您可以随时使用 rollbackAttributes
If the model hasDirtyAttributes this function will discard any unsaved changes. If the model isNew it will be removed from the store.
关于javascript - store.CreateRecord 推送记录来存储来自服务器的负面响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42857220/