javascript - 浏览器刷新后 SAPUI5 路由重置

标签 javascript sapui5 url-routing

我开发了一个 SAPUI5 主细节应用程序。当我单击主项目时,会显示相应的详细信息页面(到目前为止一切顺利)。现在的问题是,如果我在浏览器中点击刷新 (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();
    }
  });
});

BR 克里斯

关于javascript - 浏览器刷新后 SAPUI5 路由重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48339147/

相关文章:

javascript - 在此 Angular js 应用程序中, Controller 属性未显示在 View 中

javascript - Ace编辑器在设置语言模式和主题时出错

php - codeigniter 默认 Controller url 路由

c# - asp.net 4.0 web 表单中 url 路由中的特殊字符?

javascript - 简单的前端 Controller 导致 php 中的 css 和 javascript 损坏

javascript - 错误: $injector:modulerr Module Error

javascript - 系列数据无法触发点击事件 | Highcharts

sapui5 - 如何在后台加载sapui5资源

sapui5 - 如何处理sap.m.Table的itemPress?

javascript - 列表的 sapui5 条件图标