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(); 탐색기에서는 정상적으로 작동하지만 기기에서는 정상적으로 작동하지 않습니다! 왜 그 사람이 누군지 압니까? 아마 해결책이 있을까요?
이미 splitApp ('sap.ui.getCore(). byId ("ContentApp");')를 실행 한 다음 splitApp을 다시 가져옵니다 ('this.getView(). getParent(). getParent(); '). 두 번째가 작동하지 않으면 첫 번째 객체를 다시 사용하십시오. 또한 JS가 아닌 XML을 통해 뷰를 생성하므로 코드 복사 복사가 작동하지 않습니다. 내 코드는 뷰에서 직접 실행되지 않고 컨트롤러에서 실행됩니다. 실제 논리와 뷰를 분리하십시오. – Marc
이 경우에도 : "잡히지 않은 TypeError : this.getView가 함수가 아닙니다." 따라서 마스터 컨트롤러에서 DetailView를 만드는 데 의존하지 않았습니다. –