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 — 뒤로가기 허용 여부만 기억하면 됩니다.