2 개의보기가 있습니다. master1에는 항목 목록이 표시되고 한 항목을 클릭하면 master2로 이동합니다. 컨트롤러 master1.js의 코드는 다음과 같습니다 onRouteMatched에서 master2.js에서SAPUI5 탐색 및 반환
onSelect : function(oEvent) {
this.getRouter().navTo("master2", {
from : "master1",
zlonr : oLoadingOrder.LoNumber
});
},
나는이 코드를 가지고 :
onRouteMatched : function(oEvent) {
var that = this;
var oParameters = oEvent.getParameters();
if (oParameters.name === "master2") {
var oView = this.getView();
var oDialog = oView.byId("dialogBaseInfo");
if (!oDialog) {
oDialog = sap.ui.xmlfragment(oView.getId(),"ZABC.view.fragment.BaseInfo",this);
oView.addDependent(oDialog);
}
this.setCurrentDateTime();
oDialog.open();
을},
그래서 나는 단순히 대화를 개방하고 . 대화 상자가 열리는 것을 볼 수 있지만 즉시 닫히지 만 master2 화면으로 이동합니다. 디버거에 오류가 없습니다. 내 경로는 다음과 같습니다 pattern: "master1",
name: "master1",
view: "Master1",
// viewLevel: 1,
targetAggregation: "pages",
clearControlAggregation: true,
targetControl: "masterAppId",
subroutes: [
{
pattern: "zlonr/{zlonr}",
name: "master2",
view: "Master2",
// viewLevel: 1,
targetAggregation: "pages",
이런 일이 발생하는 이유 어떤 아이디어? 대화 상자는 계속 열어두고 계속 진행해야합니다. 탐색이 발생하면
안녕하세요, 귀하의 의견을 보내 주셔서 감사합니다. 그것은 오른쪽 소리,하지만 여전히 대화 상자를 닫습니다. master2로 이동하기 전에 이것을 넣으려고했지만 master2의 init에 넣으려고했지만 여전히 대화 상자를 닫습니다. – Tim
@Tim : 알겠습니다. 문제를 재현 할 수있는 코드 또는 최소한의 예제를 게시 할 수 있다면 좋을 것입니다. 그렇지 않으면 호출 스택을 통해 디버그하여 어느 모듈에서 어떤 메서드 호출이 대화 상자를 파괴 (또는 닫는 지)를 알아낼 수 있습니다. – boghyon
다시 도움을 주셔서 감사합니다. 네비게이션 직후 대화 상자를 호출하지 않고 설정을 조금 변경했습니다. 이 문제를 해결할 다른 방법을 찾지 못했습니다. 어쨌든 도와 주셔서 감사합니다! – Tim