【问题标题】:How to bind response of Ajax request to Model in EmberJs?如何将 Ajax 请求的响应绑定到 EmberJs 中的模型?
【发布时间】:2015-06-08 11:02:36
【问题描述】:

我是 Ember 的新手,我有一个正在运行的应用程序,我需要在其中放入聊天应用程序。

  1. 我需要来自 Chat 的不同用户的最后消息列表 模型(导轨末端){完成}
  2. 点击任何消息后,我都会收到 该特定消息的对话列表。 {完成:ajax 请求 并得到回复}
  3. 我不知道如何将此响应传回给 完全相同的模板或绑定到相同的聊天模型,所以我创建了一个 HTML 并将响应传递给该 HTML。 {完成}
  4. 但是由于上述方法,我丢失了 ember 数据绑定,并且通过 Pusher 的任何新消息都不会出现在聊天窗口中。

我还尝试了另一种解决方法,即在 Ember 端同时显示所有聊天消息,然后在 userId 上应用 groupBy 以仅显示特定用户的最后一条消息,然后单击使用过滤器之类的显示详细对话列表。

但老实说,我不确定上述任何解决方案是否是通往成功的正确途径。

【问题讨论】:

  • 您在使用 Ember 数据吗?
  • Ember:1.8.1 Ember 数据:1.0.0-beta.14.1
  • 实际上我认为我在响应时正在制作一些愚蠢的东西。我需要将该响应推送到 Ember 数据存储,但我不能;不能,如何访问控制器中的存储?

标签: javascript ruby-on-rails ember.js coffeescript emblem.js


【解决方案1】:

所以,这就是我为实现它所做的,

我在控制器中创建了一个函数,使其在标志模板中可用,以便记录循环它。在那个函数中调用

@get('model')

从 Ember 数据模型中获取所有记录。 (我在会徽模板中使用“控制器”进行操作)

然后在 ajax 响应中我做了,

      **success: (data, status, response) =>
        @store.unloadAll('model_name')
        @store.pushPayload('model_name', data)**

一切都按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-04
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多