Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – Angular ui-router解析两次大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这让我在过去几个小时里疯狂了,我仍然无法找到解决方案……

基本上我在解析返回http 404状态代码时将状态更改为404.我正在更改$stateChangeError事件中的状态.一切正常,除非状态更改为404后,它会启动另一个状态更改回原来的状态,从而解析两次.状态本身仍然在404,所以它毕竟有效,但它仍然会产生额外的$http请求,这些请求是不需要的.但是,如果我使用$state.go(‘404’,null,{LOCATIOn:falsE})或者404状态根本没有定义URL,它只能这样工作.

如果我为404状态(/ 404)定义了一个url,那么一切正常.

这是2支钢笔,展示了这个问题:

失败的一个http://codepen.io/cprfnaporf/pen/RaqmQN(调试模式,检查控制台:http://s.codepen.io/cprfnaporf/debug/RaqmQN/)

工作日期:http://codepen.io/cprfnaporf/pen/MyzdVQ(调试模式,检查控制台:http://s.codepen.io/cprfnaporf/debug/MyzdVQ/)

知道如何解决这个问题吗?我真的没有想法.

谢谢!

对我来说,你已经找到了解决方案.
的确,如您的代码中所述:
$urlRouterProvider.when('/','/profile/x/details');

认网址是/ profile / x / details.当ui-router看到
该url,它将尝试加载状态层次结构:base,base.profile和base.profile.details.正如您所说,由于您捕获404错误并将请求重定向到其他位置,因此不会加载最后一个.

问题是您仍然位于/ profile / x / details.所以在stateChangeError中,当你执行$state.go(‘404’,{LOCATIOn:falsE});时,ui-router将检查url.

由于它没有在404中设置,他将采用他拥有的那个:/ profile / x / details.这就是他解决相同状态层次结构的原因:base,base.profile et base.profile.details.

大佬总结

以上是大佬教程为你收集整理的angularjs – Angular ui-router解析两次全部内容,希望文章能够帮你解决angularjs – Angular ui-router解析两次所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。