2015-11-30 3 views
0

Вот контексте. Я разрабатываю приложение Ember, которое будет внедряться на страницу Drupal. Только проблема: меню приложения должно быть на странице drupal.Ember: изменить маршрут события извне приложения

Итак, я пытаюсь найти способ обновить URL-адрес страницы (извне приложения) и получить событие изменения URL-адреса внутри Ember, чтобы затем применить маршрут, как обычно.

Я пробовал:

  • history.pushstate(). Но это не вызывает «popstate», поэтому я не могу получить обратный вызов.
  • использовать «hash» url type в конфигурации ember, а затем получить событие hashchange изнутри Ember. Это работает, но я хотел бы использовать «история» тип URL-адрес

Я должен попробовать:

  • в Ember приложение, получить событие щелчка на внешнем меню, и применить мой маршруты. (Но это не похоже на действительно чистое решение, не так ли?)

Любые идеи, которые я могу сделать для этого?

Благодарим за помощь!

Config:

  • Ember: 1.13.7
  • Ember данных: 1.13.8
  • JQuery: 1.11.3

ответ

1

Я думаю, что большинство людей советуют делать что-то вроде это, Ember действительно не построено, чтобы быть небольшими частями вашего приложения, контролируемым извне, и не предоставляет никаких методов для этого.

Отправка пользовательского события, которое Эмбер слушает, может быть наименее грубым способом обойти это, если вам абсолютно необходимо это сделать. Вы можете передать название маршрута через event.detail из пользовательского события, а затем использовать this.transitionTo(event.detail).

 Смежные вопросы

  • Нет связанных вопросов^_^