Перенаправление местоположения AngularJS в AppCtrl без загрузки текущего контроллера

#angularjs #angularjs-routing

#angularjs #angularjs-маршрутизация

Вопрос:

Я довольно новичок в AngularJS, — в моем приложении AngularJS у меня есть проверка в моем контроллере AppCtrl, нужно ли нам перенаправлять или нет.

 .controller('AppCtrl', function($scope, $location) {
    if(window.localStorage.getItem("lastStation")) {
        $location.path('/app/player/' window.localStorage.getItem("lastStation"));
    }
    ....

.controller('PlayerCtrl', function($scope, $stateParams) {
    alert($stateParams); // This one is alerted TWICE if the $location.path is called in the AppCtrl controller
  

Надеюсь, кто-нибудь может помочь с этим! 😉

Комментарии:

1. Пожалуйста, исправьте ваши опечатки. Вопрос не очень понятен.

Ответ №1:

Вы должны настроить маршрутизацию для своего приложения, например:

 yourApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/app/player/:lastLocation', {
        templateUrl: 'path_to_your_view',
        controller: 'PlayerCtrl'
      }).
      .....
  }]);
  

Комментарии:

1. Arhh, извините, я уже это сделал .., все работает нормально!

Ответ №2:

Теперь я понял 😉

 .run(function($rootScope, $location) {
    if(window.localStorage.getItem("lastStation")) {
        $location.path('/app/player/' window.localStorage.getItem("lastStation"));
    }
});
  

Мне пришлось выполнить проверку в методе .run.