2015-06-24 2 views
1

В настоящее время я пытаюсь настроить маршруты в своем угловом приложении. У меня есть эти состояния:проблема с угловым ui-маршрутизатором

.state('pet', { 
    url: '/pet/:petId', 
    templateUrl: 'scripts/views/profile/profile.html', 
    controller: 'ProfileCtrl' 
}) 
.state('addPet', { 
    url: '/pet/add', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 
.state('editPet', { 
    url: '/pet/:petId/edit', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 

Проблема заключается в том, когда я хочу пойти на состояние «addPet», угловой пытается вызвать «домашнее животное» состояние с «добавить» как «: petId» параметр.

Так что я пытался сделать это по-другому:

.state('pet', { 
    url: '/pet', 
    abstract: true 
}) 
.state('pet.show', { 
    url: '/:petId', 
    templateUrl: 'scripts/views/profile/profile.html', 
    controller: 'ProfileCtrl' 
}) 
.state('pet.add', { 
    url: '/add', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 
.state('pet.edit', { 
    url: '/:petId/edit', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 

и он не работает.

Любые предложения?

ответ

2

Изменить порядок, держать addPet состояние до любимца государственного

.state('addPet', { 
    url: '/pet/add', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 
.state('pet', { 
    url: '/pet/:petId', 
    templateUrl: 'scripts/views/profile/profile.html', 
    controller: 'ProfileCtrl' 
}) 
.state('editPet', { 
    url: '/pet/:petId/edit', 
    templateUrl: 'scripts/views/profile/edit.html', 
    controller: 'ProfileFormCtrl' 
}) 
+0

Благодаря A.J, вы сделали мой день. – Mencls

+0

Добро пожаловать @Mencls, вы всегда можете рассчитывать на stackoverflow :) –

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