Javascript 浏览器刷新后SAPUI5路由重置

Javascript 浏览器刷新后SAPUI5路由重置,javascript,sapui5,url-routing,Javascript,Sapui5,Url Routing,我开发了一个SAPUI5主细节应用程序。当我点击主项目时,会显示相应的详细信息页面(目前为止还不错)。现在的问题是,如果我在浏览器中点击refresh(F5),最后选择的项目将被加载(因为URL参数) 我想要实现的是,显示主列表,但没有选择任何项目。相反,应显示“选择项目”页面,而不是项目详细信息页面。 我试过很多方法,比如操纵路由,但都不管用。关于如何实现这一点,你有什么想法吗?通过这样做,你就放弃了深度链接的整个想法,而深度链接是路由的主要好处之一。因此,在这样做之前要三思 无论如何,您可以

我开发了一个SAPUI5主细节应用程序。当我点击主项目时,会显示相应的详细信息页面(目前为止还不错)。现在的问题是,如果我在浏览器中点击refresh(F5),最后选择的项目将被加载(因为URL参数)

我想要实现的是,显示主列表,但没有选择任何项目。相反,应显示“选择项目”页面,而不是项目详细信息页面。
我试过很多方法,比如操纵路由,但都不管用。关于如何实现这一点,你有什么想法吗?

通过这样做,你就放弃了深度链接的整个想法,而深度链接是路由的主要好处之一。因此,在这样做之前要三思

无论如何,您可以在初始化组件中的路由器之前重置哈希,如下所示:

sap.ui.define([
  "sap/ui/core/UIComponent",
  "sap/ui/core/routing/HashChanger"
], function (UIComponent, HashChanger) {

  "use strict";

  return UIComponent.extend("sap.ui.demo.nav.Component", {

    metadata: {
      manifest: "json"
    },

    init: function () {
      // reset the routing hash
      HashChanger.getInstance().replaceHash("");

      // call the init function of the parent
      UIComponent.prototype.init.apply(this, arguments);

      // create the views based on the url/hash
      this.getRouter().initialize();
    }
  });
});

克里斯

是的,我知道深度链接的丢失,但在这种情况下我们不需要它。不管怎样,它工作得很好谢谢你!