Ember:从应用程序外部更改路线事件
Ember: change route event from outside the app
这里是上下文。我正在开发一个 Ember 应用程序,它将嵌入到 Drupal 页面中。
只有问题:应用程序的菜单必须在drupal页面中。
所以我试图找到一种方法来更新页面的 url(从应用程序外部)并在 Ember 中获取更改 url 的事件,所以然后我可以像往常一样应用路线。
我试过了:
- history.pushstate()。但它不会触发 "popstate" 所以我真的无法得到任何回调。
- 在ember配置中使用"hash"url类型,然后从Ember中获取hashchange事件。它有效,但我想使用 "history" url 类型
我要试试:
- 在Ember应用程序中,获取外部菜单上的点击事件,并应用我的路线。 (但这似乎不是一个真正干净的解决方案,对吗?)
我有什么想法可以做到这一点吗?
感谢您的帮助!
配置:
- Ember : 1.13.7
- Ember 数据:1.13.8
- jQuery : 1.11.3
我认为大多数人会建议不要做这样的事情,Ember 确实不是为了从外部控制应用程序的较小部分而构建的,也没有提供任何这样做的方法。
调度 Ember 正在侦听的自定义事件可能是最简单的方法,如果您绝对必须这样做的话。您可以通过自定义事件中的 event.detail 传递路线名称,然后使用 this.transitionTo(event.detail)
.
这里是上下文。我正在开发一个 Ember 应用程序,它将嵌入到 Drupal 页面中。 只有问题:应用程序的菜单必须在drupal页面中。
所以我试图找到一种方法来更新页面的 url(从应用程序外部)并在 Ember 中获取更改 url 的事件,所以然后我可以像往常一样应用路线。
我试过了:
- history.pushstate()。但它不会触发 "popstate" 所以我真的无法得到任何回调。
- 在ember配置中使用"hash"url类型,然后从Ember中获取hashchange事件。它有效,但我想使用 "history" url 类型
我要试试:
- 在Ember应用程序中,获取外部菜单上的点击事件,并应用我的路线。 (但这似乎不是一个真正干净的解决方案,对吗?)
我有什么想法可以做到这一点吗?
感谢您的帮助!
配置:
- Ember : 1.13.7
- Ember 数据:1.13.8
- jQuery : 1.11.3
我认为大多数人会建议不要做这样的事情,Ember 确实不是为了从外部控制应用程序的较小部分而构建的,也没有提供任何这样做的方法。
调度 Ember 正在侦听的自定义事件可能是最简单的方法,如果您绝对必须这样做的话。您可以通过自定义事件中的 event.detail 传递路线名称,然后使用 this.transitionTo(event.detail)
.