2016-11-24 1 views
0

Я использую $ stateProvider для определения своих маршрутов, и я сталкиваюсь с проблемами, если у меня есть два маршрута с одинаковым количеством параметров пути, они идут в цикле друг с другом, и хотя я используя ui-sref с указанием имени маршрута.маршруты angularjs с теми же циклами определения

, например:

$stateProvider 
    .state({ 
     name: 'main', 
     url: '/{clientId}', 
     templateUrl: '/main.html', 
     controller: 'mainCtrl', 
}) 

получает в цикле с:

.state('battview_mobile',{ 
      url: '/batteries', 
      templateUrl: 'modules/batteries/views/batteries.html', 
      controller: 'batterieseCtrl', 
}) 

хотя в HTML я называю:

ui-sref="battview_mobile" 

Можете ли вы посоветовать мне, почему это хотя происходит Я называю свое государство, чтобы пойти?

+1

Вы не установили 'параметр name' в' battview_mobile' –

ответ

1

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

$stateProvider 
    .state('main',{ 
     url: '/:clientId', 
     templateUrl: '/main.html', 
     controller: 'mainCtrl', 
}) 
    .state('battview_mobile',{ 
     url: '/batteries', 
     templateUrl: 'modules/batteries/views/batteries.html', 
     controller: 'batterieseCtrl', 
}) 
+0

Привет @Vassilis Pits Спасибо, вы можете объяснить немного? в чем разница между .state ('main', {}) и .state ({name: 'main'})? Я начинаю работать на этом уже разработанном сайте, и у него уже более 60 маршрутов, использующих эти две разные структуры, поэтому это будет означать, что мне нужно будет применить одну и ту же структуру ко всем, это что-нибудь сломает? – sisimh

+0

Ну, это не согласуется, и вы можете ожидать проблем. Нет никакой реальной разницы, но вы должны использовать только одну структуру, чтобы работать без проблем. Рад, что я помог, прием будет очень благодарен;) –

+0

Я только что попробовал, но это не решило цикл, единственное, что решает, когда я меняю URL-адрес на url: '/ batteries /' вместо url: '/ batteries', который должен иметь другой синтаксис url, чем основной – sisimh