【问题标题】:How to reload page in Ember or Jquery如何在 Ember 或 Jquery 中重新加载页面
【发布时间】:2014-09-29 13:59:41
【问题描述】:

如何在 Ember.Route 中强制重新加载而不是转换

例如在这个函数里面:

File: play_route.js

actions: {
    willTransition: function(transition, route) {
        transition.abort();
        transition.refresh();
        // maybe
        // window.location.href = route;
    }
}

如何在 Ember.Controller 中强制重新加载

例如在这个函数里面:

File: play_controller.js

actions: {
    reloadPage: function() {
        // reload baby
    }
}

【问题讨论】:

  • 为什么不使用window.location.reload()
  • 与 Ember 的兼容性如何?
  • 它是纯 JavaScript。 ember 会禁用纯 JavaScript 吗?
  • 我的第二个问题是如何重新加载到特定的 Ember.Route 而不是转换?
  • 为什么需要重新加载页面?

标签: javascript jquery html node.js ember.js


【解决方案1】:

这应该可以解决问题:

window.location.reload(true);

【讨论】:

  • Ember.route 中的特定路线怎么样,而不是过渡到该路线,我需要重新加载到该路线。
  • 如果你知道路线然后就做window.location.href = route
【解决方案2】:

所以根据你们的说法,我已经解决了我的两个问题,如下所示, 确认这是否是正确的方法。

在控制器中我刷新页面:

window.location.reload(true);

在路线中我过渡到特定路线:

actions: {
    willTransition: function(transition, route) {
        transition.abort();

        window.location.href = '/' + transition.targetName;
    }
}

【讨论】:

  • 这在旧版本中可能是正确的,但目前transition.targetName 不是路径。因此,如果您有像 store/info 这样的嵌套路由,则 targetName 将是 store.info
猜你喜欢
  • 2011-02-17
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
相关资源
最近更新 更多