angularjs – 如何在浏览器刷新时保留ui-router参数
发布时间:2020-12-17 18:08:51 所属栏目:安全 来源:网络整理
导读:我使用角度ui-router来管理我的SPA的状态. 我有这条路线: .state('index.administration.security.roleEdit',{ url: '/roleEdit',templateUrl: 'app/administration/security/role/roleEdit.html',controller: 'roleEditCtrl',controllerAs: 'roleEditCtrl'
|
我使用角度ui-router来管理我的SPA的状态.
我有这条路线: .state('index.administration.security.roleEdit',{
url: '/roleEdit',templateUrl: 'app/administration/security/role/roleEdit.html',controller: 'roleEditCtrl',controllerAs: 'roleEditCtrl',params: { data: null },resolve: {
role: function ($stateParams) {
return angular.fromJson($stateParams.data);
},modules: function (securityService) {
return securityService.getAllModules();
}
}
})
另外,我将’data’参数作为json对象传递给状态. 我怎么解决这个问题? 请帮忙 UPDATE vm.editRole = function(roleId){
var role = dataService.getRoleById(roleId).then(function(result){
$state.go('roleEdit',{data:angular.toJson(result)});
});
}
更新2 (function(){
angular.module('app.administration').controller('roleEdit',['role','modules','$scope','securityService','$state',roleEditCtrl]);
function roleEditCtrl('role',$scope,securityService,$state){
var vm = this;
vm.roles = roles;
vm.originalRole = angular.copy(role);
vm.modules=modules;
vm.saveChanges = _saveChanges;
vm.cancel = _cancel;
return vm;
function _saveChanges(){
securityService.UpdateRole(vm.role).then(function(result){
$staste.go('^.roles');
}
}
function _cancel(){
vm.role = angular.copy(vm.originalRole);
$sscope.roleEditForm.$setPristine();
}
}
})();
解决方法
有同样的问题,留下这个以防其他人需要它.通过使用localStorage解决了它.
我把它设置为app的run方法的一部分 $rootScope.$on('$stateChangeSuccess',function (event,toState) {
localStorage.setItem('__stateName',toState.name);
});
现在,根据您的应用程序结构,您可能需要考虑将其放在其他位置,但在我的情况下,我有一个围绕所有子控制器的父AppController,所以这部分代码就在那里. var previousState = localStorage.getItem('__stateName');
previousState && $state.go(previousState) || $state.go(<SOME_OTHER_ROUTE>);
基本上,当用户点击浏览器刷新时,AppController从开始(在子控制器之前)初始化,如果有的话,立即触发状态转换.否则,你会去其他一些州. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读
