Javascript 角度UI路由器0.2.15,浏览器后退/前进按钮不工作
我使用angular v1.4.7和UI路由器0.2.15,使用$state.go和 ui sref,以防从html转到其他状态。我不能 回去我检查了浏览器的后退/前进按钮,但我没有看到任何历史记录被推入。所以,只要我点击后退按钮,它就会将我发送到空选项卡Javascript 角度UI路由器0.2.15,浏览器后退/前进按钮不工作,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我使用angular v1.4.7和UI路由器0.2.15,使用$state.go和 ui sref,以防从html转到其他状态。我不能 回去我检查了浏览器的后退/前进按钮,但我没有看到任何历史记录被推入。所以,只要我点击后退按钮,它就会将我发送到空选项卡 “严格使用”; /** *路由器的配置 */ 角度。模块('app')。运行( [“$rootScope”、“$state”、“$stateparms”, 函数($rootScope、$state、$stateparms){ $rootSco
“严格使用”;
/**
*路由器的配置
*/
角度。模块('app')。运行(
[“$rootScope”、“$state”、“$stateparms”,
函数($rootScope、$state、$stateparms){
$rootScope.$state=$state;
$rootScope.$stateParams=$stateParams;
}
]).config(
[“$stateProvider”、“$urlRouterProvider”、“JQ\u配置”、“模块\u配置”,
函数($stateProvider、$urlRouterProvider、JQ\u CONFIG、MODULE\u CONFIG){
var layout=“tpl/app.html”;
$stateProvider.state('app'{
摘要:没错,
url:“/app”,
templateUrl:布局,
数据:{
权限:{
例外:[“匿名”],
重定向到:“访问。登录”
}
},
解析:加载(['toastr','js/controllers/modal.js'])
}).state('app.dashboard'{
url:“/dashboard/:标记名”,
templateUrl:'tpl/app_dashboard_v1.html',
控制器:“仪表板控制器”,
数据:{
权限:{
仅限:[“用户”]
}
},
解析:加载(['toastr','js/controllers/dashboard.js'])
}).state('app.chat'{
url:“/chat”,
templateUrl:'tpl/chat.html',
控制器:“chatCtrl”,
数据:{
权限:{
仅限:[“用户”]
}
},
解析:加载(['toastr','js/controllers/chatCtrl.js'])
}).state('应用程序帐户'{
url:“/accounts/:accountId/:标记名”,
templateUrl:'tpl/group_dash.html',
控制器:“GroupDashController”,
数据:{
权限:{
仅限:[“用户”]
}
},
解析:加载(['toastr','js/controllers/group_dashboard.js'])
}).state('应用程序配置文件'{
url:“/profile/:accountId”,
templateUrl:'tpl/user_profile.html',
数据:{
标题:“个人资料”
},
控制器:“UserProfileController”,
controllerAs:'vm',
解析:加载(['toastr','js/controllers/profile.js'])
}).state('应用程序反馈'{
url:“/feedback”,
templateUrl:'tpl/feedback.html',
控制器:“反馈控制器”,
controllerAs:'vm',
数据:{
权限:{
仅限:[“用户”]
}
},
解析:加载(['toastr','js/controllers/feedback.js'])
}).state('access'{
url:“/access”,
模板:“”
}).state('access.sign'{
url:“/sign”,
templateUrl:'tpl/page_sign.html',
解析:加载(['js/controllers/signin.js'])
}).state('access.signout'{
url:“/signout”,
templateUrl:'tpl/page_signout.html',
控制器:“SignoutController”,
controllerAs:“虚拟机”,
数据:{
权限:{
仅限:[“用户”]
}
},
解析:加载(['js/controllers/signout.js'])
}).state('access.signup'{
url:“/signup”,
控制器:“注册控制器”,
controllerAs:“虚拟机”,
templateUrl:'tpl/page_signup.html',
解析:加载(['toastr','js/controllers/signup.js'])
}).state('access.forgotpwd'{
url:“/forgotpwd”,
控制器:“ForgotPassController”,
templateUrl:'tpl/page_forgotpwd.html',
解析:加载(['js/controllers/forgotpwd.js'])
}).state('access.404'{
url:“/404”,
templateUrl:'tpl/page_404.html'
});
$urlRouterProvider。否则(函数($injector){
var$state=$injector.get(“$state”);
$state.go('app.dashboard');
});
函数加载(srcs、回调){
返回{
部门:['$ocLazyLoad','$q',
函数($ocLazyLoad,$q){
var deferred=$q.deferred();
var承诺=虚假;
srcs=angular.isArray(srcs)?srcs:srcs.split(/\s+/);
如果(!承诺){
允诺,允诺;
}
forEach(srcs,function(src){
promise=promise.then(函数(){
if(JQ_配置[src]){
'use strict';
/**
* Config for the router
*/
angular.module('app').run(
['$rootScope', '$state', '$stateParams',
function($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]).config(
['$stateProvider', '$urlRouterProvider', 'JQ_CONFIG', 'MODULE_CONFIG',
function($stateProvider, $urlRouterProvider, JQ_CONFIG, MODULE_CONFIG) {
var layout = "tpl/app.html";
$stateProvider.state('app', {
abstract: true,
url: '/app',
templateUrl: layout,
data: {
permissions: {
exept: ['anonymous'],
redirectTo: 'access.signin'
}
},
resolve: load(['toastr', 'js/controllers/modal.js'])
}).state('app.dashboard', {
url: '/dashboard/:tagName',
templateUrl: 'tpl/app_dashboard_v1.html',
controller: 'DashboardController',
data: {
permissions: {
only: ['USER']
}
},
resolve: load(['toastr', 'js/controllers/dashboard.js'])
}).state('app.chat', {
url: '/chat',
templateUrl: 'tpl/chat.html',
controller: 'chatCtrl',
data: {
permissions: {
only: ['USER']
}
},
resolve: load(['toastr', 'js/controllers/chatCtrl.js'])
}).state('app.accounts', {
url: '/accounts/:accountId/:tagName',
templateUrl: 'tpl/group_dash.html',
controller: 'GroupDashController',
data: {
permissions: {
only: ['USER']
}
},
resolve: load(['toastr', 'js/controllers/group_dashboard.js'])
}).state('app.profile', {
url: '/profile/:accountId',
templateUrl: 'tpl/user_profile.html',
data: {
title: 'Profile'
},
controller: 'UserProfileController',
controllerAs: 'vm',
resolve: load(['toastr', 'js/controllers/profile.js'])
}).state('app.feedback', {
url: '/feedback',
templateUrl: 'tpl/feedback.html',
controller: 'feedbackController',
controllerAs: 'vm',
data: {
permissions: {
only: ['USER']
}
},
resolve: load(['toastr', 'js/controllers/feedback.js'])
}).state('access', {
url: '/access',
template: '<div ui-view class="fade-in-right-big smooth"></div>'
}).state('access.signin', {
url: '/signin',
templateUrl: 'tpl/page_signin.html',
resolve: load(['js/controllers/signin.js'])
}).state('access.signout', {
url: '/signout',
templateUrl: 'tpl/page_signout.html',
controller: "SignoutController",
controllerAs: "vm",
data: {
permissions: {
only: ['USER']
}
},
resolve: load(['js/controllers/signout.js'])
}).state('access.signup', {
url: '/signup',
controller: "SignUpController",
controllerAs: "vm",
templateUrl: 'tpl/page_signup.html',
resolve: load(['toastr', 'js/controllers/signup.js'])
}).state('access.forgotpwd', {
url: '/forgotpwd',
controller: "ForgotPassController",
templateUrl: 'tpl/page_forgotpwd.html',
resolve: load(['js/controllers/forgotpwd.js'])
}).state('access.404', {
url: '/404',
templateUrl: 'tpl/page_404.html'
});
$urlRouterProvider.otherwise(function($injector) {
var $state = $injector.get("$state");
$state.go('app.dashboard');
});
function load(srcs, callback) {
return {
deps: ['$ocLazyLoad', '$q',
function($ocLazyLoad, $q) {
var deferred = $q.defer();
var promise = false;
srcs = angular.isArray(srcs) ? srcs : srcs.split(/\s+/);
if (!promise) {
promise = deferred.promise;
}
angular.forEach(srcs, function(src) {
promise = promise.then(function() {
if (JQ_CONFIG[src]) {
return $ocLazyLoad.load(JQ_CONFIG[src]);
}
angular.forEach(MODULE_CONFIG, function(module) {
if (module.name == src) {
name = module.name;
} else {
name = src;
}
});
return $ocLazyLoad.load(name);
});
});
deferred.resolve();
return callback ? promise.then(function() {
return callback();
}) : promise;
}
]
}
}
}
]);