Проблемы с навигацией в унифицированной оболочке sapui5 (sap.ui.unified.Shell)
Я использовал единый элемент управления Shell для реализации меню смахивания, подобного Facebook, и встроил в него список, чтобы я мог войти в пункты меню. Идея состоит в том, что когда пользователь нажимает на определенный элемент списка в меню, он перенаправляется в новый вид. Я попытался реализовать это с помощью bus.publish ("nav", "to" {id: ..}), но он не работает. (Я поместил меню в Занавес панели Unified Shell) Кто-нибудь может мне помочь? Вы можете найти ниже соответствующие фрагменты кода вида и контроллера.
var oListTemplate = new sap.m.StandardListItem({
title: "{title}",
icon: "{icon}",
description: "{description}",
type: sap.m.ListType.Navigation,
customData: new sap.ui.core.CustomData({
key: "targetPage",
value: "{targetPage}"
})
});
var oList = new sap.m.List({
selectionChange: [oController.doNavOnSelect, oController],
mode: sap.m.ListMode.SingleSelectMaster
});
oList.bindAggregation("items", "/Menu", oListTemplate);
Контроллер:
onInit: function() {
this.getView().setModel(new sap.ui.model.json.JSONModel("model/menu.json"));
this.bus = sap.ui.getCore().getEventBus();
},
doNavOnSelect: function(event){
if (sap.ui.Device.system.phone) {
event.getParameter("listItem").setSelected(false);
}
this.bus.publish("nav", "to", {
id: event.getParameter('listItem').getCustomData()[0].getValue()
});