2015-07-12 4 views
2

У меня есть такие страницы, как login, userdetails, store, booking .once пользователь вошел в систему, чтобы выбрать магазин и перейти на страницу бронирования, не заходя на странице userdetails.in на странице onsubmit. Я хочу проверить, нет ли пользовательских атак уже там, а не там, нужно перенаправить на мой профиль, как только пользователь представит данные должным образом, снова необходимо перенаправить на страницу бронирования. Если пользователь вошел в систему и отправил пользовательские данные, и выберите время хранения, я не хочу перенаправления страниц, я думаю, что здесь $ location.path() не будет работать Как сделать угловую динамическую маршрутизацию на основе кондиционирования?

routes 
 
angular 
 
    .module('myaccount') 
 
    .config(['$stateProvider', 
 
     function($stateProvider) 
 
      $stateProvider 
 
       .state('myaccount', { 
 
\t \t \t \t \t resolve:{ 
 
\t \t \t \t \t \t \t "check":function($location) 
 
\t \t \t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t }, 
 
        url: '/myaccount', 
 
        templateUrl: 'modules/myaccount/views/myaccount.html', 
 
        controller: 'MyaccountController' 
 
       }); 
 
     } 
 
    ]);

ответ

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 блоке (который будет blimping удивительный!).

Так что если кто-нибудь может придумать, как это сделать, я бы сказал, что это ваш лучший выбор.

До этого времени это должно быть просто отлично.