Javascript 角度UI路由器,路由解析中断刷新按钮

Javascript 角度UI路由器,路由解析中断刷新按钮,javascript,angularjs,angular-ui,Javascript,Angularjs,Angular Ui,我对Angular UI路由器有问题。当我路由到下面的状态时,它完全可以正常工作。但是,当我刷新页面时,解析会获取数据,并将其注入控制器,但视图不会加载。简言之,当通过ui sref链接或$state.go将状态路由到时,状态可以正常工作,但在刷新页面时则不行。以前有人遇到过这个问题吗 $stateProvider.state('information', { templateUrl: 'information.html', resolve:{

我对Angular UI路由器有问题。当我路由到下面的状态时,它完全可以正常工作。但是,当我刷新页面时,解析会获取数据,并将其注入控制器,但视图不会加载。简言之,当通过ui sref链接或$state.go将状态路由到时,状态可以正常工作,但在刷新页面时则不行。以前有人遇到过这个问题吗

  $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本身引起的,并且在较新的版本中得到了修复。