搜尋

首頁  >  問答  >  主體

angular.js - ui-router怎麼刪除某個歷史紀錄?

1、我有三個頁面路由:list、group、add,路由規則是這樣的:點擊list進入group,點擊group進入add,在頁面add點返回時返回group,在add中點「儲存」按鈕後要跳到group,但是這時在group中如果點返回它又跳到add頁面,我要的是跳到list頁面,相當於如果是點“保存”按鈕的話我想把add這個歷史記錄刪除,我改怎麼做?

某草草某草草2744 天前962

全部回覆(1)我來回復

  • 世界只因有你

    世界只因有你2017-05-15 17:09:29

    刪除不了歷史記錄,這是瀏覽器的東西。

    可以用$stateChangeStart這個事件來控制,參考這個文檔裡面的$stateChangeStart去寫,大概思路就是用什麼方法保留下add是否保存了,然後如果當前路由是group,點擊返回時要前往的路由是add,然後如果add有保存,則阻止這個事件轉而前往list,如果沒保存則正常跳轉

    或用點小技巧,點保存的時候用window.history.go(-1),不要用$state.go去跳轉

    回覆
    0
  • 取消回覆