LINUX.ORG.RU

Редирект на angular.js

 ,


0

1

Здравствуйте, мне поручили бекенд проекта на ангуляре сделать, а я этот ангуляр впервые вижу и на вашу помощь надеюсь! Проблема такая:

resolve: {
    signed_in: ['$location', function ($location) {
         $location.path('/app/page/profile')
    }
}
Это resolv в роуте. Работает только если в адресной строке адрес на этот роут написать, а при клике в меню не работает, а значит, неправильное решение в гугле нашел. А какое будет правильным?


Ответ на: комментарий от anonymous

Ну как же, есть проект на ангуляре, а есть его бакенд.

ichi404
()

В общем такое получилось, если понадобится кому-нибудь:

$rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams) {
      if(current_user){
        if(current_user.mobile == '' && toState.name != 'app.page.profile'){
          e.preventDefault();
          $state.go('app.page.profile');
          e.targetScope.$watch('$viewContentLoaded', function(){
            $("[ui-butterbar]").removeClass('active');
          })
        } else {
          $rootScope.user = current_user;
          if(!$rootScope.user.avatar.url) {$rootScope.user.avatar.url = '/assets/a8.jpg'};
          if(!$rootScope.user.avatar.main.url) {$rootScope.user.avatar.main.url = $rootScope.user.avatar.url}
        }
      } else {
        if(!~['access', 'access.signin', 'access.signup', 'access.forgotpwd', 'access.resetpwd'].indexOf(toState.name)) {
          e.preventDefault();
          $state.go('access.signin');
        }
      }
    })
  })

Romaboy
() автор топика
Ответ на: комментарий от Romaboy

Это в angular.module('app') .run(function($rootScope, $location, $state) { в файле роутингов. Вообще забавляет сколько всего туманного и непростого в анге делать нужно для банальных задач

Romaboy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.