【问题标题】:Reload Ember-Data from outside从外部重新加载 Ember-Data
【发布时间】:2013-11-24 19:03:03
【问题描述】:

我正在将 Ember 与 Ember 数据和 LocalStorage 适配器一起使用,我正在寻找一种方法来强制 ember 从本地存储重新加载数据并相应地更新 UI。

但是,我不知道如何从 Ember 外部手动强制重新加载。基本上我正在寻找这样的东西:

function reloadAssets() {
  App.ApplicationAdapter.init(); // Cannot be called
}

我最初的想法是只调用 LS Application Adapter 的 init() 方法,但这是不可能的。

【问题讨论】:

  • 您能解释一下您的记录的工作流程/生命周期吗?

标签: javascript ember.js ember-data


【解决方案1】:

如果可以,您可能需要重新考虑您的应用程序架构。但如果不了解更多信息,请查看Ember.Instrumentation。不确定这是否是最好的方法,但也许它可以帮助你。

您可以使用它从 Ember 外部将发送信号/事件发送到 Ember。

// use jQuery to setup a click handler outside of Ember that will send
// Ember an an 'html.click' event that we defined
$('html').click(function(evt) {
  Ember.Instrumentation.instrument('html.click', evt);
});

在 Ember 内部,您可以定义检测到该事件时会发生什么:

// maybe in a route
Ember.Instrumentation.subscribe('html.click', {
  before: function(name, timestamp, payload) {
    this.send('handleHtmlClick', payload);
  },
  after: function(){}
});

我认为您可以这样做来强制 Ember 路由转换以从 LSA 重新加载记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2019-05-03
    • 2017-10-24
    • 1970-01-01
    相关资源
    最近更新 更多