在下面的示例中,我希望logincheck在进入checkBasket之前解决,因为后者取决于前一个。不,我不想将代码放在同一个函数中,因为这两个函数在其他路由中都被多次使用。 关于如何做的任何建议?
.when("/bananaBoat", {
templateUrl: "views/banana.html",
resolve: {
logincheck: logincheck,
checkBasket: checkBasket,
}
})
感谢您的帮助
编辑:
以下是解决的功能:
var logincheck = function ($http, $routeParams, $location, $rootScope) {
var abc = $http.get('/api/resources/getUser');
abc.then(function (data) {
if (!($rootScope.user)) {
$location.url('/');
}
}, function () {
$location.url('/');
})
.catch(function (err) {
console.log(err)
})
};
var checkBasket= function ($http, $rootScope, $location, $route) {
if (!($rootScope.user.basket == ""))
$location.url("/");
};
答案 0 :(得分:0)
将在处理每个路径之前调用Resolve,您可以检查用户是否已登录在此控制器中将显示此isLoggedIn变量
li