в Ember.js У меня есть маршрут с моделью. Не могли бы вы мне помочь, когда я нахожусь в плейлисте маршрута, как перезагрузить этот маршрут (или установить новые данные в модель), вызванный обратным вызовом из другой функции JS? Я долго искал документацию, но не помогал мне.Как перезагрузить текущий маршрут в Ember.js?
App.PlaylistRoute = Ember.Route.extend({
setupController: function(controller, model) {
$.getJSON('api/playlist.php?' + Math.random().toString(36), function (data) {
controller.set('model', data);
});
}
});
Большое спасибо!
Ember.Controller.transitionToRoute, похоже, не перезагружает текущий маршрут. У меня есть LOG_TRANSITIONS_INTERNAL, и все это делает «Попытка перехода к индексу» и заканчивается. Теперь переход в код перехода ToRoute ... –
Вам нужно отправить другую модель, если вы отправляете текущую модель, тогда нет законной причины перезагрузки маршрута. Что вы пытаетесь достичь? – Kingpin2k
Вариант использования. Когда вы определяете свою модель в маршруте «/ foos» в качестве списка (например, с помощью 'findQuery' из ember-data), создайте модель того же класса в другом маршруте«/foos/new », а затем перенаправите обратно на «/ foos», используя «Route # transitionTo», вновь созданная модель не появится, потому что ни 'model()' hook, ни 'setupController()' не эксплицируются на "/ foo". Такое поведение наблюдается при использовании маршрута с динамическими сегментами и при запуске 'transitionTo 'foo', 23'. Итак, как мы заставляем маршрут «/ foo» перезагружать его 'model()'? –