【发布时间】:2015-08-27 13:15:22
【问题描述】:
我已切换到ui-router。一切都很顺利,除了一件事。在我的页面上,我有一个更改应用程序上下文的选择。无论如何,以前,当这个上下文发生变化时,我正在执行这段代码(特别是 set 方法):
'use strict';
angular.module('main').factory('lacContext', ['$route', function ($route) {
return {
set: function (id) {
sessionStorage.setItem("lac-context", id);
$route.reload();
},
get: function () {
return sessionStorage.getItem("lac-context");
}
};
}])
和
$route.reload()
正在做最重要的事情。它重新加载了页面。但是在切换到 ui-router 之后,$route.reload 什么也没做。我也没有在 ui-router API 中找到对应的。如何解决这个问题?
【问题讨论】:
-
你试过
$state.go('.')吗? -
不。如何访问当前状态?
-
你需要像
$route一样注入$state服务,然后你可以调用这个方法。请参阅文档github.com/angular-ui/ui-router/wiki/… -
我做到了,$state 未定义
-
如果您在模块中正确注入了 ui-router 依赖项,您将获得 $state 对象。请参阅此 wiki 链接和示例github.com/angular-ui/ui-router/wiki
标签: angularjs angular-ui-router