2016-11-21 4 views
-2

sap.m.splitapp를 사용하여 MasterDetailView에 일부 데이터를 표시하는 SAPUI5 앱에서 작업하고 있습니다. 내 문제는 질문 Master menu is not visible on mobile devices but is visible on tablet과 같습니다.휴대 기기에서 마스터 메뉴가 보이지 않지만 InternetExplorer에서 볼 수 있습니다.

제 경우에는 요청 된 데이터에 따라 MasterController가있는 MasterPage를 만들 예정입니다. 이 데이터에 따라 MasterController의 기능으로 DetailPages를 동적으로 생성합니다. 내 테스트 장치에

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, 심지어 단추가 표시되지 않습니다를 표시 할 가능성이 없다는 것을, 사실을 제외하고 잘 작동합니다.

나는 연결된 질문의 해결책을 시도했지만 오류가 발생합니다 : "Object Element 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

이 경우에도 : "잡히지 않은 TypeError : this.getView가 함수가 아닙니다." 따라서 마스터 컨트롤러에서 DetailView를 만드는 데 의존하지 않았습니다. –

답변

0

나는 그것을 발견했습니다 심지어 postet "속임수"를

는 SplittApp 클래스는 전화 카테고리를 사용할 수 없습니다. 따라서 masterView를 보려면 MasterPage와 비슷한 PopUpMenu를 만들었습니다.

아무도 정확하게 알지 못하므로 모든 것을 잘 알고 내 질문의 품질을 낮춰 주셔서 감사합니다.