我有登录,用户详细信息,商店,预订等页面。登录用户登录选择商店并移动到预订页面而不输入userdetails.in预订页面onsubmit我想检查用户是否已经在那里,如果它不在那里我需要重新定向到我的个人资料,一旦用户再次正确提交详细信息需要重定向到预订页面。如果用户登录并提交了userdetails propery并选择商店那段时间我不想要页面重定向我想这里$ location.path()将无法正常工作
routes
angular
.module('myaccount')
.config(['$stateProvider',
function($stateProvider)
$stateProvider
.state('myaccount', {
resolve:{
"check":function($location)
{
}
},
url: '/myaccount',
templateUrl: 'modules/myaccount/views/myaccount.html',
controller: 'MyaccountController'
});
}
]);

答案 0 :(得分:0)
我很想知道如何在.resolve
块
您可以使用resolve
和controller
的组合来完成此操作。
resolve: {
checkUserDetails: function (user) {
return user.details.submitted; /** some promise **/
}
},
controller: function (checkUserDetails, $state) {
if (!checkUserDetails) {
$state.go('profile');
}
}
确保在resolve.checkUserDetails
中返回承诺并将其注入控制器。
不幸的是,我不知道/还没有想到如何在resolve
块中做这样的事情(这将是一团糟 awesome !)。
所以如果有人能想出怎么做,我会说这是你最好的选择。
在那之前,这应该就好了。