我會盡力解釋我的問題。我有一個網頁A,當我在A中完成一個過程時,我可以進入頁面B.當我在頁面B上完成一個過程時,我可以轉到頁面C,因此我可以有n個頁面。到第n頁。 我希望用戶永遠不能訪問頁面C,如果他沒有先去頁面A或頁面B.換句話說,我想強制用戶使用頁面的內部導航。也就是說用戶不能在瀏覽器中寫入url,或重新加載頁面,如果發生這種情況,應該將其重定向到特定頁面。阻止從網址導航到另一頁
從角度與此設法把一些條件之前去任何特定的控制器。
//similar to $statechange
angularRoutingApp.run(function ($rootScope, $state, $location, $transitions)
{
$transitions.onStart({}, trans = > {
$state.go('anystate', trans.targetState())
});
}
從javascript與我知道什麼時候重新加載頁面。
if ($window.performance.navigation.type == 1) {
console.info("This page is reloaded");
} else {
console.info("This page is not reloaded");
}
但在這兩種情況下,我有一個問題:如果 我在,我還沒有從瀏覽器的網址我寫B的URL的處理結束,並立即,它打破了我想要的狀態。但如果我在B並再次充電,現在檢測到頁面已被重新加載。
我希望能讓自己明白。
我能做什麼?
你應該改爲從第3頁根據你有什麼數據 - 如果你沒有來自頁面1 + 2的數據(用戶填寫,如果沒有輸入,然後變量當你從ui導航到下一頁時,由你設置),然後你重定向 –