2016-02-27 2 views
0

Я создал это маленькое приложение, где у меня есть следующие состояния:angularJs stateprovider юг состояние не загружает контроллер и шаблон

restricted.route.js

$stateProvider.state('restricted', { 
    url: '/restricted', 
    templateUrl: 'app/restricted/restricted.html', 
    abstract: true 
}); 

pages.route.js

$stateProvider.state('restricted.pages', { 
    url: '/pages', 
    templateUrl: 'app/restricted/pages/pages.html', 
    controller: 'pagesController', 
    controllerAs: 'vmPages' 
}); 

detail.route.js

$stateProvider.state('restricted.pages.detail', { 
    url: '/:id', 
    controller: 'pageDetailController', 
    controllerAs: 'vmDetail', 
    templateUrl: 'app/restricted/pages/detail/detail.html' 
}); 

app.run.js

$urlRouterProvider.otherwise('/restricted/dashboard'); 

Когда я загружаю URL #/ограничено/страниц все работает отлично. Контроллер загружен и отображается представление. Когда я загружаю URL-адрес #/limited/pages/1, контроллер и вид из состояния 'limited.pages' загружаются и выполняются. Состояние четко распознается, потому что $ urlRouterProvider.otherwise не выполняется.

У кого-нибудь есть идея, что я здесь делаю неправильно?

Спасибо!

ответ

0

Преднамеренно ли иметь данные в виде содержимого страниц (списка?)? Если это так, вам нужно поместить <div ui-view></div> в шаблон с именем app/restricted/pages/pages.html.

Если это не ваше намерение, я рекомендую переименовать состояние детали на что-то вроде restricted.pages_detail, так как каждая точка вводит вложенные уровни в определениях состояний.

+0

Такой глупый! Это было не мое намерение. Изменение состояния на limited.pages_detail решило все это ... Спасибо! – bartman

0

Я думаю, что ваша проблема заключается в HTML, вложенное состояние должно быть загружено в тег ui-view родительского элемента.

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