2

В моем коде я хочу приложить $ scope.requireLogin значение requireLogin данных. Как я могу получить это в этом .state?

.state('403', { 
    url: '/403', 
    templateUrl: '403.tmpl.html', 
    controller: function($scope, $state, APP, Auth) { 
     $scope.app = APP; 

     $scope.goHome = function() { 
      if(Auth.isAuthenticated()){ 
       $scope.requireLogin = true; 
       $state.go('admin-panel.default.home'); 
      } 
      else{ 
       $scope.requireLogin = false; 
       $state.go('admin-panel.public.home'); 
      } 
     }; 
    }, 
    data: { 
     requireLogin: $scope.requireLogin 
    } 
}) 

Может ли кто-нибудь сказать мне дорогу?

ответ

0

Вы можете сделать это из своего контроллера.

$state.current.data.requireLogin =$scope.requireLogin; 
+0

Вы имеете в виду в этом контроллер: функция ($ scope, $ state, APP, Auth) {})? – user3391137

+0

он не работает. Brok – user3391137

+0

См. Раздел «Прикрепление пользовательских данных к объектам состояния» в https://github.com/angular-ui/ui-router/wiki –

0

Вместо атрибута данных. Используйте параметры, такие как params: {theKeyIWantToUse: null} При переходе в следующее состояние используйте $ state.go ("blaroute", {theKeyUsedInParams: theValue}, чем вы можете вернуть значение с помощью $ stateParams.theKeyUsedInParams

Смежные вопросы