2016-11-21 4 views
-2

Я работаю над приложением SAPUI5, отображающим некоторые данные в MasterDetailView с помощью sap.m.splitapp. Моя проблема остается равной вопросу Master menu is not visible on mobile devices but is visible on tablet.Главное меню не отображается на мобильных устройствах, но видно на InternetExplorer

В моем случае у меня сложилась ситуация, что я собираюсь создать MasterPage с MasterController в зависимости от запрашиваемых данных. В зависимости от этих данных я динамически создаю DetailPages в функции MasterController.

for(var i=0;i<adata.inhaltList.length;i++){var DetailPage = new sap.m.Page({ 
      title: masterString, 
      showNavButton: true, 
      navButtonPress:function() { 
       var oSplitApp = this.getView().getParent().getParent(); 
       var oMaster = oSplitApp.getMasterPages()[0]; 
       oSplitApp.toMaster(oMaster, "flip"); 
      } 
     });  }; 

На моем тестовом устройстве, все работает отлично, за исключением того факта, что у меня нет никакой возможности, чтобы показать MasterPage, даже ни одна кнопка не отображается.

Я пробовал решение связанного вопроса, но получаю сообщение об ошибке: «Элемент объекта sap.m.Page #__ page0 не имеет метода getView». Так что это не сработало. Даже Сделайте yourselve решения, добавив кнопку в пользовательском-заголовке:

contentLeft: [new sap.m.Button({ 
    icon: "sap-icon://paging", 
    press: function() { 
     var splitApp = sap.ui.getCore().byId("ContentApp"); 
     if (splitApp.isMasterShown()) { 
      console.log("Master weg"); 
      splitApp.hideMaster(); 
     } else { 
      console.log("Master kommt"); 
      splitApp.showMaster(); 
      var oSplitApp = this.getView().getParent().getParent(); 
      var oMaster = oSplitApp.getMasterPages()[0]; 
      oSplitApp.toMaster(oMaster, "flip"); 
     }; 
    } 
})] 

и пытаюсь показать мастер вручную не работает.

Функция SAPUI5: oSplitApp.showMaster(); отлично работает в проводнике, но не на устройстве! Кто-нибудь знает, почему? И, вероятно, решение?

+0

У вас уже есть splitApp ('sap.ui.getCore(). ById (" ContentApp ");'), а затем вы снова извлекаете splitApp ('this.getView(). GetParent(). GetParent(); '). Просто повторите использование первого объекта, если второй не работает. Также вы создаете свои представления через JS, а не XML, поэтому копирование моего кода не работает. Мой код предназначен для запуска в контроллере, а не непосредственно в представлении. Попробуйте отделить представление от фактической логики. – Marc

+0

также в этом случае: «Uncaught TypeError: this.getView не является функцией». Так что это не зависит от создания DetailView в Master-контроллере –

ответ

0

Я нашел это:

Даже с postet «трюков», класс SplittApp не доступен для данной категории телефонов. Итак, чтобы увидеть masterView, я создал PopUpMenu, который выглядит как MasterPage.

Все прекрасно известно и благодарит вас за то, что я отказался от моего вопроса, потому что никто точно этого не знает.

 Смежные вопросы

  • Нет связанных вопросов^_^