我是OpenUI5的初学者,并编写了如下菜单:
查看:
<NavigationList id="navigationList" width="12rem">
<NavigationListItem text="People" icon="sap-icon://card" select="goToRoute"></NavigationListItem>
</NavigationList>
控制器:
goToRoute: function() {
this.getRouter().navTo("peoplelist");
}
这很有效,但这很糟糕,因为我有几个菜单项和每个JS事件。
我希望下面有这样的内容,没有任何JS背后,但在文档和示例中找不到任何内容。
查看:
<NavigationList id="navigationList" width="12rem">
<NavigationListItem text="People" icon="sap-icon://card" linkToRoute="peoplelist"></NavigationListItem>
</NavigationList>
有谁知道?
答案 0 :(得分:3)
您可以构建一个通用事件处理程序,该处理程序从相应的项目派生目标路径。为此,您可以使用自定义数据,您可以以声明方式添加到控件中。为此,请在打开的View标记中添加以下行:
xmlns:custom="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
采用您的导航列表:
<NavigationList id="navigationList" width="12rem">
<NavigationListItem text="People" icon="sap-icon://card" select="onItemSelect" custom:route="peopleList"/>
</NavigationList>
你的控制器:
onItemSelect : function(event) {
var item = event.getSource();
var route = item.data("route");
this.getRouter().navTo(route);
}
Here您可以找到更多详细信息。