Angularjs ui路由器抽象状态解析与http请求
我看到了这个话题,但这个解决方案并不能解决我的问题 我想简单地描述一下我的问题 我必须声明其中一个是抽象的(父母),其中两个有决心。两个解析生成http,但子状态不等待父解析结果。子解析如何等待父状态解析 首先进入父状态,这是确定的,然后进入子状态,但子状态不等待父http结果 我的计划是这样的。在所有状态下(对于页面刷新),我检查用户cookie,如果存在,再次加载用户(进行http调用) 所有子状态都使用此用户信息并为用户获取相关数据 所以我需要首先完成抽象解析http调用Angularjs ui路由器抽象状态解析与http请求,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我看到了这个话题,但这个解决方案并不能解决我的问题 我想简单地描述一下我的问题 我必须声明其中一个是抽象的(父母),其中两个有决心。两个解析生成http,但子状态不等待父解析结果。子解析如何等待父状态解析 首先进入父状态,这是确定的,然后进入子状态,但子状态不等待父http结果 我的计划是这样的。在所有状态下(对于页面刷新),我检查用户cookie,如果存在,再次加载用户(进行http调用) 所有子状态都使用此用户信息并为用户获取相关数据 所以我需要首先完成抽象解析http调用 .state(
.state('app', {
url: '/app',
abstract: true,
templateUrl: Route.base('app.html'),
resolve: {
userExist: ['api', function (api) {
var currentUser = cacheService.getUser();
api.loginExistUser(currentUser).then(function (result) {
api.setUser(result.data, true);
});
}]
}
})
.state('app.myFriends', {
url: '/myLingpals',
templateUrl: "myFriends.html",
controller: "myFriendsController",
controllerAs: "vm",
resolve: {
myFriends: ['api' function (api) {
return api.get("myfriends");
}]
}
})
只需在函数中添加一个返回:)
只需在函数中添加一个返回:)
谢谢你的回答。但你的孤独是不够的。我试着解决问题,在你的帮助下,我找到了孤独 将父解析数据添加到子状态解析依赖项子解析等待响应时。再次感谢
.state('app', {
url: '/app',
abstract: true,
templateUrl: Route.base('app.html'),
resolve: {
**userExist**: ['api', function (api) {
var currentUser = cacheService.getUser();
api.loginExistUser(currentUser).then(function (result) {
api.setUser(result.data, true);
});
}]
}
}).state('app.myFriends', {
url: '/myLingpals',
templateUrl: "myFriends.html",
controller: "myFriendsController",
controllerAs: "vm",
resolve: {
myFriends: ['api','userExist', function (api,**userExist**) {
return api.get("myfriends");
}]
}
})
谢谢你的回答。但你的孤独是不够的。我试着解决问题,在你的帮助下,我找到了孤独 将父解析数据添加到子状态解析依赖项子解析等待响应时。再次感谢
.state('app', {
url: '/app',
abstract: true,
templateUrl: Route.base('app.html'),
resolve: {
**userExist**: ['api', function (api) {
var currentUser = cacheService.getUser();
api.loginExistUser(currentUser).then(function (result) {
api.setUser(result.data, true);
});
}]
}
}).state('app.myFriends', {
url: '/myLingpals',
templateUrl: "myFriends.html",
controller: "myFriendsController",
controllerAs: "vm",
resolve: {
myFriends: ['api','userExist', function (api,**userExist**) {
return api.get("myfriends");
}]
}
})
我会尽快尝试这个解决方案,谢谢你的回答。我会尽快尝试这个解决方案,谢谢你的回答