我对我的应用程序的设计方法有疑问。我们将有一个母版页,它将使整个应用程序在左侧和顶部具有相同的菜单栏。根据左侧选定的菜单,中间区域将是动态的。下面是它的样子;
红色区域将根据左侧的选择动态显示。黄色区域将始终固定。 我想的其中一个替代品,我将有一个main.view.xml,它将包含左侧面板和顶部栏,并将中间区域留空,并带有一个空的滚动条容器。根据菜单选择,系统将动态加载相应的XML视图到滚动条控件。 在这里,我有一个非常重要的观点,我的网址应该是动态的。我的意思是,用户可以将此URL发送给其他用户,一旦打开,他们应该看到完全相同的输出。我打算使用不同URL的ROUTING,但是指向主页面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将是我的主页面,它有主菜单栏和顶栏。将根据URL动态加载XML视图。这是一个好方法吗?
第二种选择是; 黄色突出显示的区域将是片段,我将在所有XML视图中包含在所有页面中具有相同的输出。在这种情况下,所有XML视图中都会有一个小的复制粘贴操作。由于它们是片段,一旦我更改片段,所有页面也将得到更改。这里的优点是,路由将针对每个XML视图而不是main.view.xml
答案 0 :(得分:1)
通过Route-Config,属性“target”是一个数组。这意味着你可以传递多个目标,例如始终是目标“MasterData”。
我的意思是,用户可以将此网址发送给其他用户,一旦他们打开, 他们应该看到完全相同的输出。
所以这适用于您的请求。
另一种方法是在模式中使用“rest as string parameter”
作为字符串参数休息:“pattern”:“:all *:” - 这个模式会 定义一个可选的变量,将整个哈希作为字符串传递给 路由事件。它可用于定义一条捕获路线,例如: G。 以下哈希值匹配:foo,product / 5/3, 产品/ 5 /细节/ 3 / foo中。您也可以将它与其他组合 变量,但要确保带*的变量是最后一个
但是如果你想要多条路线匹配相同的模式,你的路线需要参数
贪婪:真实
我希望这有助于你