我正在使用 Oracle JET 開發(fā)單頁應用程序。在我正在構建的頁面中,我試圖在用戶嘗試離開頁面而不保存更改時提醒他們。因此,當離開頁面時,我想:攔截路由。檢查是否有任何變化。如果有更改,請彈出一個窗口。如果沒有任何未保存的更改,請繼續(xù)路由。我相信這應該可以使用 ojRouter (此處的文檔鏈接),但我還沒有讓它工作。我已經(jīng)嘗試了很多方法,但這是我到目前為止的結果:編輯:我已經(jīng)更進一步并成功地訪問了 canExit 屬性,我在下面編輯了我的代碼塊。但是,這仍然不會阻止路由。oj.Router.sync().then(() => { const letrouterState = oj.Router.rootInstance; letrouterState.currentState().canExit = ableToExit();});function ableToExit() { let canExit; //function that will check if the page has unsaved changes if (ableToExit()) { canExit = false; } else { canExit = true; } return canExit;}我也嘗試過使用window.onhashchange. 但是,這只會在打開我的頁面時觸發(fā)一個事件,而不是在離開它時觸發(fā)。我希望我把我的問題說清楚了,如果需要的話,我很樂意澄清我的任何要求。有人可以幫助我嗎?提前感謝您的時間。
OJET - 我如何在離開我的頁面之前提醒用戶?
千萬里不及你
2022-10-27 15:16:17