Javascript 角度UI路由器,路由解析中断刷新按钮
我对Angular UI路由器有问题。当我路由到下面的状态时,它完全可以正常工作。但是,当我刷新页面时,解析会获取数据,并将其注入控制器,但视图不会加载。简言之,当通过ui sref链接或$state.go将状态路由到时,状态可以正常工作,但在刷新页面时则不行。以前有人遇到过这个问题吗Javascript 角度UI路由器,路由解析中断刷新按钮,javascript,angularjs,angular-ui,Javascript,Angularjs,Angular Ui,我对Angular UI路由器有问题。当我路由到下面的状态时,它完全可以正常工作。但是,当我刷新页面时,解析会获取数据,并将其注入控制器,但视图不会加载。简言之,当通过ui sref链接或$state.go将状态路由到时,状态可以正常工作,但在刷新页面时则不行。以前有人遇到过这个问题吗 $stateProvider.state('information', { templateUrl: 'information.html', resolve:{
$stateProvider.state('information', {
templateUrl: 'information.html',
resolve:{
'infoData': function($q, myFactory) {
var data = {};
data.first = myFactory.get(1);
return $q.all({first: data.first.$promise});
}
},
controller: function($scope, infoData){
console.log(infoData);
}
}
我已经遇到过好几次了。在我的routes.js文件中,我总是使用html5模式,摆脱了angular默认的hash-bang
// Set HTML5 mode to true
$locationProvider.html5Mode(true).hashPrefix('!');
我的.htaccess中也有这个
RewriteEngine on
#let angular do its thing
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.html [NC,L]
我不知道我是否能直接回答你的问题,但我也许能为你指出正确的方向。你的症状和我的相似 这让我意识到,Angular UI路由器似乎默认接受状态错误。在向$stateChangeError事件添加全局侦听器并记录错误后,我能够看到在您的情况下,我的resolve函数中的某些依赖项在刷新页面时没有加载myFactory。通过应用程序其余部分的正常导航,这不是一个问题,因为它是我的几个控制器之间的共享依赖项,这些控制器已经正确加载了它 在我的项目中,我们使用的是RequireJS和Angular,因此我的解决方案是将我的依赖项添加到新控制器的定义列表中,这似乎与您无关,因此我不会详细介绍。另外,我的项目使用Angular 1.2.13和Angular UI Router 0.2.10
希望这有助于。。。如果有,请投票 然后一定要在你的.htaccess中尝试这个片段!这个片段到底在做什么?我认为这种不分辨率与ui路由器框架的关系比角度问题本身更大。很久以前,这个问题最终是由角度ui本身引起的,并且在较新的版本中得到了修复。