Angular UI路由器,路由解析刷新按钮
Angular UI Router, route resolve breaking refresh button
我的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
事件添加全局侦听器并记录错误后,我发现在刷新页面时,解析函数中的一些依赖项(在您的示例中为myFactory
(没有加载。通过应用程序其余部分的正常导航,这不是一个问题,因为它是我的几个控制器之间的共享依赖项,这些控制器已经正确加载了它
在我的项目中,我们使用RequireJS和Angular,所以对我来说,解决方案是将我的依赖项添加到我的新控制器的define
列表中(似乎与您无关,所以我不会详细介绍(。此外,值得一提的是,我的项目使用的是Angular 1.2.13和Angular UI Router 0.2.10。
希望这能帮助。。。如果是的话,请投票支持我引用的答案!
相关文章:
- 刷新按钮以调用javascript函数
- 机身加载功能和刷新按钮相同
- 当用户单击关闭浏览器时(但不是当用户单击刷新按钮时),JavaScript会确认启动
- dojo-dgrid带有store from url(json数据)重载/刷新按钮
- 更新f5上的URL或刷新按钮
- 在Javascript中刷新按钮更新Accordion
- 是否可以阻止 Oracle Apex 提交页面,直到用户单击该页面上的刷新按钮
- 按 F5 或页面上的刷新按钮不应调用上一个事件
- 如何调用 MVC Telerik 网格刷新按钮的点击事件
- 如何在单击刷新按钮后再次从启动禁用计时器
- 在 jsp 中使用 ajax 刷新按钮时刷新行的列
- 我怎么知道在Firefox中是点击了刷新按钮还是浏览器返回按钮
- 推特订阅源手动刷新按钮
- 如何在点击刷新按钮后返回到主散列
- onblur事件不'如果用户在文本字段中输入值并直接按下浏览器刷新按钮,则无效
- 地图刷新按钮单击Javascript
- 按下浏览器刷新按钮后未调用嵌套异步调用
- 当用户点击刷新按钮时,删除mysql表中的数据
- 刷新按钮禁用
- Window.onbeforeunload .alert限制刷新按钮点击