Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用户界面路由器&;angular 1.5:浏览器后退按钮触发$stateChangeStart两次并修改历史记录_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 用户界面路由器&;angular 1.5:浏览器后退按钮触发$stateChangeStart两次并修改历史记录

Javascript 用户界面路由器&;angular 1.5:浏览器后退按钮触发$stateChangeStart两次并修改历史记录,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我使用的是angular 1.5的ui路由器 我有一个问题,当我按下浏览器返回按钮时,它不是以线性方式返回,而是以奇怪的顺序返回 例如: setOne: abstract State1: setOne.Result State2: setOne.Availability setTwo: abstract State3: setTwo.Sim State4: setTwo.Boost Page order is : State1 > State2&

我使用的是angular 1.5的ui路由器

我有一个问题,当我按下浏览器返回按钮时,它不是以线性方式返回,而是以奇怪的顺序返回

例如:

setOne: abstract
    State1: setOne.Result
    State2: setOne.Availability

setTwo: abstract
    State3: setTwo.Sim
    State4: setTwo.Boost

    Page order is : State1 > State2> State3 > State4
  • 现在假设我从State1开始,继续浏览setTwo.Boost (上次状态)&按浏览器后退按钮,地址栏闪烁,然后 浏览器加载状态3

  • 之后,若我再按一次“后退”按钮,那个么理想情况下它应该会消失 到状态2,但它再次到状态4

因此,预期的历史行为应该是:

State4 > State3 > State2 > State 1
实际行为:

State4 > State3 > State4> State2> State3 > State2 > State 1
我可以看到,当按下浏览器中的“后退”按钮时,$stateChangeStart被调用了两次。地址栏中的URL来回闪烁,似乎是额外的历史记录条目显示在“后退”按钮历史记录中。这会将浏览器历史上最后一次查看的页面修改为我单击“后退”按钮的当前页面

我也遇到过类似的问题,但是我不知道如何解决这个问题

这简直让我发疯了我哪里出了问题


任何关于我在这里配置错误的建议

你找到问题了吗?