簡體   English   中英

page.js取消頁面離開

[英]page.js cancel page leaving

單頁應用程序上 ,客戶端正在編輯一個大表單

localhost/#!/product/123/edit

  • 他導航離開,我想顯示一個確認對話框“您確定要離開嗎?” [確定] [取消]。 如果他單擊[取消],則必須保留該表格。

  • 這是我當前的實現

page.exit('*', function (ctx, next) { if (form is editing and not submitted) { if (confirm("Are you sure you want to leave")) { next(); //user click OK -> leave } } else { next(); //nothing changed on the form => leave } });

問題是:每次我單擊鏈接('/ foo')並取消離開。 頁面內容(我的大表格)保持不變,但是page.js仍將pushState('/foo') ,並且window.location更改為'/ foo',它不再與頁面對應

我們如何才能真正取消pushState,並保持地址欄不變,請訪問localhost/#!/product/123/edit

我有同樣的問題,我做了什么

context.handled = false;

當我提出對話框時(引導模態)。 除小故障外,效果很好:如果我修改了一些輸入字段,然后嘗試導航到單擊鏈接,然后選擇停留在頁面中,然后如果我單擊相同的鏈接,則不會觸發任何操作。 其他鏈接工作正常。

請參閱github中相應問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM