UI5:主页和动态 XML 视图正在加载

UI5 : Master Page and Dynamic XML View Loading

我对我的应用程序的设计方法有疑问。我们将拥有一个母版页,使整个应用程序在左侧和顶部具有相同的菜单栏。中间区域将根据从左侧选择的菜单动态变化。下面是它的样子;

红色区域将根据从 left.Yellow 区域中的选择动态变化,将始终固定。 我正在考虑的替代方案之一是,我将有一个 main.view.xml,它将包含左侧面板和顶部栏,并将中间区域留空,并带有一个空的滚动条容器。根据菜单选择,系统会将相应的 XML 视图动态加载到滚动条控件。 在这里我有一个非常重要的观点,我的 URL 应该是动态的。我的意思是,用户可以将此 URL 发送给另一个用户,一旦他们打开,他们应该会看到完全相同的输出。我打算将 ROUTING 与不同的 URL 一起使用,但指向 MAIN.VIEW.XML 的母版页; 下面是一个示例路由结构;

  routes:
      {"pattern": "MasterData/material/{ID}",
        "name": "MasterData",
        "target": "MasterData"
      },
      {"pattern": "Report/Cost/{REPID}",
        "name": "CostReport",
        "target": "CostReport"
      },
      {"pattern": "UserPanel",
        "name": "UserPanel",
        "target": "UserPanel"
      },

      "targets": {
        "MasterData": {
          "viewName": "APP/MAIN",
          "viewLevel": 1
        },
        "CostReport": {
          "viewName": "APP/MAIN",
          "viewLevel": 2
        },
        "UserPanel": {
          "viewName": "APP/MAIN",
          "viewLevel": 3
        },

在这种情况下,根据我的路由模式,我将加载相应的 XML 视图。所以 main.view 将是我的主页,它有主菜单栏和顶部栏。 XML 视图将根据 URL 动态加载。这是一个好方法吗?

第二个选项是; 黄色突出显示的区域将是片段,我将包括在所有 XML 视图中以在所有页面中具有相同的输出。在这种情况下,所有 XML 视图中都会有一个小的复制粘贴操作。由于它们是片段,一旦我更改了片段,所有页面也将得到更改。这里的优点是,路由将针对每个 XML 视图而不是 main.view.xml

通过 Route-Config,属性“目标”是一个数组。这意味着您可以传递多个目标,例如始终是目标“MasterData”。

I mean, users can send this URL to another user and once they open, they should see exactly same output.

所以这将满足您的要求。

.

另一种方法是在您的模式中使用“rest 作为字符串参数”

rest as string parameters: "pattern" : ":all*:" - this pattern will define an optional variable that will pass the whole hash as string to the routing events. It may be used to define a catchall route, e. g. the following hashes would match: foo, product/5/3, product/5/detail/3/foo. You can also combine it with the other variables but make sure a variable with a * is the last one

Route API Constructor

但是如果您希望多个路由匹配相同的模式,您的路由需要参数

贪心:真

希望对你有帮助