大佬教程收集整理的这篇文章主要介绍了angularjs – ui-router resolve在Ionic中表现奇怪,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
resolve
to one of the views:
resolve: { issue: function($q,$timeout) { var defer = $q.defer(); //defer.reject(); // Doesn't work browser or device $timeout(defer.reject); // Works in browser,but not device return defer.promise; } }
我在这里监视被拒绝的决议:
.run(function($ionicPlatform,$rootScope,$ionicLoading) { $ionicPlatform.ready(function() { // regular stuff here $rootScope.$on('$stateChangeError',function() { $ionicLoading.show({ template: 'All good!' }); }); }); });
出于某种原因,如果resolve立即拒绝(参见上面的defer.reject()),则不会运行$stateChangeError的回调.如果我做的完全相同,但在Ionic之外,it works!
此外,尝试通过$timeout(defer.reject)来延迟解析拒绝;导致不同的行为.现在它按预期在浏览器中工作,但仍然无法在设备上运行.试图延迟更多,导致设备成功:
$timeout(function() { defer.reject(); },250); // Doesn't work for me with 200 or less
任何人都可以阐明这一点吗?
这是一个很棒的article,讨论$timeout和$scope.$evalAsync – 从我可以收集到的$timeout正在评估下一个tick中的函数.这个代码按照您概述的方式工作的原因是什么.
resolve: { issue: function($q,$timeout) { var defer = $q.defer(); //defer.reject(); // <---- no nextTick $timeout(defer.reject); // <---- $timeout evaluates on nextTick return defer.promise; } }
以上是大佬教程为你收集整理的angularjs – ui-router resolve在Ionic中表现奇怪全部内容,希望文章能够帮你解决angularjs – ui-router resolve在Ionic中表现奇怪所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。