gpt4 book ai didi

javascript - UI 路由器 $state.go 没有重定向?

转载 作者:搜寻专家 更新时间:2023-11-01 04:48:32 25 4
gpt4 key购买 nike

这是一个常见问题,我看到了很多,但似乎没有任何效果。这就是我正在做的。我想为我的状态添加一些动态动画,所以基本上登录会做一些很酷的动画并进入实际界面。现在,我开始像这样嵌套 View :

    $stateProvider
.state('login', {
url: '/login',
title: "Login",
views: {
"master": {
controller: "LoginController",
templateUrl: "/components/login/login.html",
authentication: false
}
}
})
.state("logout", {
url: "/logout",
title: "Logout",
authentication: false
})
.state('foo', {
url: '/',
controller: "HomeController",
views: {
"master": {
templateUrl: '/components/ui-views/masterView.html'
},
"sidebar@foo": {
templateUrl: '/components/sidebar/_sidebar.html'
},
"header@foo": {
templateUrl: '/components/header/_header.html'
}
}
})
.state('foo.inventory', {
url: '/inventory',
title: "Inventory",
views: {
"content@foo": {
controller: "InventoryController",
templateUrl: "/components/inventory/inventory.html"
}
}
});

所以在运行它时我需要重定向到注销,但它卡住了。它根本不会从此注销状态移动。以下是我的处理方式:

function run($http, $rootScope, $cookieStore, $state, $templateCache, $timeout, AuthService, modalService, const) {
var timeout;

FastClick.attach(document.body);
$rootScope.globals = $cookieStore.get('globals') || {};

if ($state.current.name !== 'login' && !$rootScope.globals.guid) {
$state.go('login');
} else if ($state.current.name == 'login' && $rootScope.globals.guid) {
$state.go('foo');
}

$rootScope.$on('$stateChangeStart', function (event, next, current, fromState, fromParams) {
var authorizedRoles = next.level != undefined ? next.level : 1,
needAuth = next.authentication != undefined ? next.authentication : true;

if (needAuth) {
if (!AuthService.isAuthorized(authorizedRoles, true)) {
event.preventDefault();
if (AuthService.isAuthenticated()) {
$rootScope.$broadcast(const.auth.notAuthorized);
$state.go('foo', {});
} else {
$rootScope.$broadcast(const.auth.notAuthenticated);
}
}
}

if (next.name == 'logout') AuthService.logout($rootScope.globals);
});

}

那么为什么这行不通呢?看起来这个工作正常。但是 $state.go('login') 返回了一个错误的值。

如果有人能指导我正确的方向,或者告诉我到底哪里出了问题。

最佳答案

问题是 $state.go 正在运行,关于这个主题的文档似乎并不多。 $state.go 尚未初始化,不会运行。

关于javascript - UI 路由器 $state.go 没有重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28208893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com