2017-02-13 4 views
0

Я мое состояние конфигурация определяется следующим образом:

$stateProvider 
     .state('parentState', { 
     abstract: true, 
     url: '/:tenantId/', 
     param: { 
      tenantId: { 
      array: false 
      } 
     }, 
     views: { 
      '[email protected]': { 
      templateUrl: 'home/header.html', 
      controller: 'Header as vm' 
      }, 
      '[email protected]': { 
      templateUrl: 'home/footer.html', 
      controller: 'FooterCtrl as vm' 
      } 
     }, 
     resolve: userResolve, 
     data: { 
      private: true 
     } 
     }) 
     //...4-5 other child states, then a state to handle unknown urls 
     .state('parentState.otherwise', { 
     views: { 
      '@': { 
      templateUrl: 'home/404/pageNotFound.html', 
      controller: 'PageNotFoundCtrl as vm' 
      } 
     } 
     }); 
    $urlRouterProvider.otherwise(function ($injector) { 
     $injector.get('$state').go('parentState.otherwise', {}, { 
     location: false 
     }); 
    }); 

Теперь, когда неверный URL введен, parentState.otherwise состояния нагрузки правильно, и parentState пар, т.е. tenantId , также правильно заполняется. Однако на странице reload (refresh, Ctrl + R) с тем же недопустимым URL-адресом, parentState.otherwise состояния загружаются, но проблема заключается в parentState param, т. Е. TenantId идет как пустая строка ("").

+0

примечание: 'парам:' должен быть 'Титулы:' –

+0

пытался, но Бесполезный» ничего не меняйте. поведение было таким же. – Avinash

ответ

0

Каким-то образом, с location: false, родительское состояние, то есть parentState, в этом случае не подбирало параметр tenantId из URL-адреса на странице обновления. Таким образом, если мы явно передать tenantId параметров в состояние ребенка, т.е. parentState.otherwise, открывая его, все отлично работает даже на обновления страницы:

$urlRouterProvider.otherwise(function ($injector) { 
    $injector.get('$state').go('parentState.otherwise', { 
    tenantId: 'someTenantId' 
    }, { 
    location: false 
    }); 
}); 

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

  • Нет связанных вопросов^_^