navTo Push vs Replace — 언제 쓰나 #shorts #SAP #UI5

Moderator · 조회 3

UI5 Routing이 왜 중요한가

SAP UI5에서 화면 전환은 Router와 navTo로 처리합니다. 단순히 화면을 이동할 때 Push와 Replace 중 어떤 방식을 쓰느냐에 따라 뒤로가기 동작이 완전히 달라집니다.

manifest.json Routing 설정

먼저 manifest.json에 라우트를 선언합니다.

"routing": {
  "config": {
    "routerClass": "sap.m.routing.Router",
    "viewType": "XML",
    "controlId": "app",
    "controlAggregation": "pages"
  },
  "routes": [
    { "name": "main",   "pattern": "", "target": "main" },
    { "name": "detail", "pattern": "detail/{id}", "target": "detail" }
  ]
}

Push vs Replace 차이

Push는 브라우저 히스토리 스택에 새 항목을 추가합니다. 사용자가 뒤로가기를 누르면 이전 화면으로 돌아갑니다. Replace는 현재 히스토리를 덮어씁니다. 뒤로가기를 해도 이 화면으로는 돌아올 수 없습니다.

// Push — 뒤로가기 가능 (기본값)
this.getRouter().navTo("detail", { id: sId });

// Replace — 뒤로가기 불가
this.getRouter().navTo("detail", { id: sId },
  true  // bReplace = true
);

언제 Replace를 써야 하나

로그인 화면, 결제 완료 화면처럼 뒤로가기를 막아야 할 때 Replace를 사용합니다. 일반 목록→상세 이동에는 Push를 사용해 히스토리를 유지하세요.

핵심 한 줄

navTo 세 번째 인자 true = Replace, 생략 = Push — 뒤로가기 허용 여부만 기억하면 됩니다.