2015-12-07 2 views
0

У меня возникли трудности с загрузкой шаблонов с использованием состояния и параметров.Угловое состояние/маршрутизатор с параметрами url не работает

Код ниже отлично работает, когда я перейти к/контакты

$stateProvider 
    .state('contacts', { 
     url: '/contacts', 
     templateUrl: 'views/resources/contacts.html', 
     controller: 'ContactsController' 
    }) 

Когда я пытаюсь перейти к/контакты/123, я использую ниже фрагмент кода.

Редактировать: Я использую только приведенный ниже фрагмент кода, и единственное различие заключается в том, что я добавляю в «/: id» к URL-адресу.

$stateProvider 
    .state('contacts', { 
     url: '/contacts/:id', 
     templateUrl: 'views/resources/contacts.html', 
     controller: 'ContactsController' 
    }) 

Это когда я начинаю сталкиваться с проблемами. Страница не загружается, и я получаю консольную ошибку, которая говорит, что я не могу создать экземпляр модуля. (link to angular site from console error)

Может кто-нибудь помочь мне? Я не знаю, почему мой, когда я пытаюсь использовать Params все начинает ломаться :(

+2

оба состояния имеют одно и то же имя – stalin

+1

У вас включен html5mode, если не URL должен добавить # до eg. #/contacts #/contacts /: id –

+0

Первое, что нужно сделать, это переключиться на unminified версию 'angular.js'; сообщение об ошибке будет более подробным. Я бы хотел, чтобы они добавили это в свою doco, поскольку это поможет решить большинство начальных проблем. – Phil

ответ

0

Так получается, что, когда я добавил "/: id" Мое обращение к скрипт-файлам src на моей странице index.html не вызывалось должным образом. У меня было дополнительное. перед этим путем, в результате чего мои угловые файлы, службы, директивы и т. д. не загружались/называется правильно

Я пошел от этого:.

<script src="./app/app.js"></script>

к этому:

<script src="/app/app.js"></script>

Спасибо всем, кто помог на этом!

0

Попробуйте определения Params в вашем определении .state так:

$stateProvider 
.state('contacts', { 
    params: { id: null }, // note null is the default value if no param is specified 
    url: '/contacts/:id', 
    templateUrl: 'views/resources/contacts.html', 
    controller: 'ContactsController' 
}) 
Смежные вопросы