我会尽力解释我的问题。我有一个网页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导航到下一页时,由你设置),然后你重定向 –