2013-11-24 5 views
1

Я использую Ember с данными Ember и адаптером LocalStorage, и я ищу способ заставить ember перезагрузить данные из localstorage и соответствующим образом обновить интерфейс.Reload Ember-Data извне

Однако я понятия не имею, как вручную принудительно перезагрузить снаружи Ember. В основном я ищу что-то вроде этого:

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

Моя первоначальная идея состояла в том, чтобы просто вызвать метод Init() адаптера Application LS, но это не представляется возможным.

+0

Можете ли вы объяснить свой рабочий процесс/жизненный цикл записи? – Kingpin2k

ответ

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); 
}); 

Внутри Эмбер, вы можете определить, что происходит, когда обнаруживается, что событие:

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

Я думаю, что вы могли бы сделать это, чтобы заставить маршрут перехода Ember иметь записи Reloaded из LSA.