ember.js - 如何使 Ember 本地存储适配器 (LSAdapter) 与 Ember REST 适配器一起工作?

标签 ember.js local-storage

我想同时利用 Ember 本地存储适配器 (LSAdapter) 和 Ember REST 适配器 (RESTAdapter),这样所有用户都有一个集中的数据库,同时避免为每个用户操作发送 Ajax 请求。

具体来说,我想:

  • 使用来自服务器的数据填充 LSAdapter。
  • 用户所做的所有更改都会更新到 LSAdapter。 (我知道怎么做这一步)
    (为#3 做准备,我可以有一个模型,在 LSAdapter 中保存所有更新的日志)
  • 在 n 分钟后,LSAdapter 更新数据被发送回服务器。

  • 我的后端服务器不是 Rails,所以请让答案通用。

    是否可以在 Ember 应用程序中同时使用 LSAdapter 和 RESTAdapter?如果是这样,请提供如何设置它的代码示例。
    如果您提供第 1 步和第 3 步的代码示例,我也将不胜感激,基本上,数据库如何与本地存储通信,反之亦然。

    如果不可能同时拥有 LSADapter 和 RESTAdapter,我该怎么做才能完成第 1 步和第 3 步?

    我能想到的唯一解决方法是将 Ember 应用程序商店设置为 RESTAdapter,然后调用 Web Storage localstorage直接在我的应用程序中,根本不从 LSAdapter 调用它。让我知道是否有更简单或内置的方法。

    最佳答案

    阅读 Ember data 的 DS.Store 评论后,似乎可以使用 2 adapters at once :

  • 您可以通过多种方式从商店中检索模型。检索记录
    对于特定的 ID,请使用 DS.Modelfind()方法:
    var person = App.Person.find(123);
  • 如果您的应用程序有多个 DS.Store实例(一个不寻常的情况),你可以
    指定应该使用哪个商店:
    var person = store.find(App.Person, 123);

  • 如果我尝试并让它工作,我会更新这个答案。

    更新 1:

    查看UPDATED for Additional question中的代码其中 FixtureAdapter 和 RestAdapter 都被调用。

    关于ember.js - 如何使 Ember 本地存储适配器 (LSAdapter) 与 Ember REST 适配器一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17078164/

    相关文章:

    ember.js - 在 Ember.js 中对具有多个模型的父路由调用 Route.modelFor

    javascript - 如何对内部使用 localStorage 的 AngularJS 服务进行单元测试

    javascript - 为什么在 “LocalStorage” 中添加/删除元素不起作用?

    javascript - HTML5 离线存储/Web SQL

    ember.js - ember.js 是否鼓励过多的 Controller ?

    ember.js - 设置 Ember.TextField 的 size 属性

    ember.js - 使用 Ember.js 复选框输入助手触发更改事件的操作?

    javascript - Ember.js 在每条路线的路线更改时运行函数。全局激活功能?

    image - 将 HTML5 LocalStorage 用于字体/图像/流行插件

    ReactJs保留多个react值并且刷新后不重置状态