【问题标题】:How can we reload a route Ember JS (versoin 1.0.0-rc.1)我们如何重新加载路由 Ember JS(版本 1.0.0-rc.1)
【发布时间】:2013-04-15 05:10:42
【问题描述】:

我的路线有一个条件:

application.com/#/sample/:id 被重定向回application.com/#/sample/:id 例如, application.com/#/sample/1 得到一个重定向到 application.com/#/sample/2 的事件

这不会导致重新加载。有人解决了这个案子吗?

其实我有一个案例 application.com/#/parent/123/sample/1 导致重定向到 application.com/#/parent/123/sample/2

事件由ParentRouter 接收到transitionTo("parent.sample",{id:2})

我在日志中得到的是:

未捕获的错误:断言失败:不允许清空处于 inBuffer 状态的视图,并且在正常情况下不应发生。您的应用程序中很可能存在错误。这可能是由于属性更改通知过多。

【问题讨论】:

    标签: ember.js ember-router


    【解决方案1】:

    手动转入路线,可以试试这两种方法:

    1. 对于具有不同名称的路线:

      App.Router.router.transitionTo(name, params);

    2. 对于具有相同名称的路线:

      App.Router.router.getHandler(name).enter();

      应该等同于调用enter路由事件。 (我不确定)

    【讨论】:

    • What about : Uncaught Error: assertion failed: Emptying a view in the inBuffer state is not allowed 并且在正常情况下不应发生。您的应用程序中很可能存在错误。这可能是由于过多的属性更改通知。似乎发生了太多刷新事件并导致视图出错?
    • 你能在 jsfiddle 中设置一个演示供我们调试吗?谢谢。
    【解决方案2】:

    问题已解决。这是车把中的 NULL 处理问题。 我对空值做了一些额外的检查。现在可以了。

    Github 上也有类似的问题,我们可以随时重新加载当前路由并重定向回任何路由。

    感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 2017-04-15
      相关资源
      最近更新 更多