Я загружаю данные из API JSON. Мои маршруты почти всегда должны извлекать новые данные с сервера. У меня нет контроля над форматом API.Ошибка обжига при загрузке асинхронных маршрутов
Я пытаюсь использовать функциональные возможности, описанные в Ember Asynchronous Routing guide. В частности, я возвращаю обещание в крюке model
маршрута, чтобы я задерживал переход на маршрут до загрузки данных (и показывая индикатор загрузки).
Все (actions.loading
, afterModel
и т. Д.), Казалось, работает, как описано в руководстве. Тем не менее, я получаю ошибку showstopper всякий раз, когда я перехожу на маршрут, которым я был раньше.
Это JSBin минимальный пример, который использует те же версии Эмбер и его зависимостей, которые включены в Starter Kit:
http://jsbin.com/zorey/1/edit?html,js,output
Нажмите на имя, вернитесь назад, а затем щелкните второе имя. Вы увидите эту ошибку в своей консоли:
Error while loading route: TypeError: Object #<Object> has no method 'apply'
Что я делаю неправильно?
взято из документа ember: Примечание. Маршрут с динамическим сегментом будет иметь только вызываемый крючок модели, когда он вводится через URL-адрес. Если маршрут вводится через переход (например, при использовании помощника link-to Handlebars), то контекст модели уже предоставляется и крючок не выполняется. Маршруты без динамических сегментов всегда будут выполнять крючок модели. URL: http://emberjs.com/guides/routing/specifying-a-routes-model/ – fanta
@fanta Спасибо! Итак, каков правильный способ сделать это? И почему он работает при первом входе в маршрут? –