【问题标题】:Ember: change route event from outside the appEmber:从应用程序外部更改路线事件
【发布时间】:2015-11-30 11:59:58
【问题描述】:

这是上下文。我正在开发一个 Ember 应用程序,它将嵌入到 Drupal 页面中。 只有问题:应用的菜单必须在drupal页面中。

所以我正在尝试找到一种方法来更新页面的 url(从应用程序外部)并在 Ember 中获取更改 url 的事件,以便我可以像往常一样应用路由。

我试过了:

  • history.pushstate()。但它不会触发“popstate”,所以我真的无法得到任何回调。
  • 在 ember 配置中使用 "hash" url type,然后从 Ember 内部获取 hashchange 事件。它有效,但我想使用“历史”网址类型

我必须尝试:

  • 在 Ember 应用中,获取外部菜单上的点击事件,然后应用我的路线。 (但这似乎不是一个真正干净的解决方案,不是吗?)

我有什么想法可以做到这一点?

感谢您的帮助!

配置:

  • 灰烬:1.13.7
  • Ember 数据:1.13.8
  • jQuery : 1.11.3

【问题讨论】:

    标签: javascript ember.js routes browser-history


    【解决方案1】:

    我认为大多数人会建议不要做这样的事情,Ember 真的不是为了让您的应用程序的较小部分从外部控制,并且不提供任何方法来这样做。

    如果您绝对必须这样做,则调度 Ember 正在侦听的自定义事件可能是最简单的方法。您可以通过自定义事件中的event.detail 传递路由名称,然后使用this.transitionTo(event.detail)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 2021-05-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多