嗨,我有一个如下所示的 $stateProvider。
$stateProvider .state('team.details', {
url: '/:teamId',
views: {
'@': {
controller: 'teamDetailsCtrl',
templateUrl: 'src/modules/team/details/teamDetails.html',
resolve: {
user: function ($stateParams, TeamResource) {
return TeamResource.get({ teamid: $stateParams.teamId }).$promise;
}
TeamResource.get 正在调用休息 api,如果数据是从休息 api 发送的(数据库中存在 teamid),则一切正常。但如果数据不存在,那么我必须将其路由到“家”。我怎样才能实现它?
最佳答案
您可以解决这个问题,如果有数据,则使用链式 promise 返回该数据,否则将其重定向到不同的状态。
代码
resolve: {
user: function($stateParams, TeamResource, $state) {
return TeamResource.get({
teamid: $stateParams.teamId
}).$promise.then(function(data) {
if (!data.length > 0) { //here might be you need to use something else instead of data
$state.go('home')
return
} else {
return data;
}
});
}
关于angularjs - Angular Js 解决方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594129/