存储后已有Ember数据的Ember子状态

奥马尔·阿扎姆

我已经阅读了与Substate等相关的Ember文档,并且我了解它是如何工作的。在当前的应用程序中,我的loading.hbs和其他子loading.hbs模板可以正常工作。

我只想讨论一个用例。

  1. 在路线A中,在模型函数中,我为模型做fetchAll。
  2. 我转到路线A,第一次发送api请求,然后看到加载屏幕。
  3. 现在我导航到其他路线B。
  4. 现在,我回到第一条路线A,再次发送api请求,但是此时未显示加载屏幕。

我想在这里加深理解。现在没有显示第二次加载屏幕,该屏幕告诉我们存储中已有数据,因此没有理由将其加载,并且在获取存储后发送了与后端同步的请求。

现在,我想知道这是否是Ember与Ember-data的默认行为?

要显示此加载屏幕,我需要手动执行一些操作吗?

理想情况下,我想要的是,如果在第二次请求时获取了数据,则显示它,同时显示加载程序以告诉用户它也在与后端同步。

我知道所有事情都可以手动完成,我不想重新发明轮子或以非常规的方式做事。因此,我想知道Ember提供的最佳优化解决方案,经验丰富的Ember开发人员可以帮助我理解。

提前致谢。

阿比拉什LR

现在,我想知道这是否是Ember与Ember-data的默认行为?

是的,这灰烬数据的默认行为,当你做一个findRecordfindAll地方shouldBackgroundReloadRecordshouldBackgroundReloadAll分别适配器的情况下,默认为真。您可以通过返回false并确保将shouldReloadAllshouldReloadRecord分别设置为true关闭此功能以确保请求始终命中API而不是从缓存中获取。

理想情况下,始终建议在屏幕上立即显示数据,因为它具有更好的UX,可以使用户感觉到数据已经存在,并且正在提取数据的某些部分。在这里检查

要显示此加载屏幕,我需要手动执行一些操作吗?

您可能还需要阅读本

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章