2016-07-05 6 views
1

У меня есть состояние заявленного, как это в моем главном приложении:

var app = angular.module("contactManagement", 
     ["'ui.router']) 
    .config(["$stateProvider", "$urlRouterProvider", "$locationProvider", 
      function ($stateProvider, $urlRouterProvider, $locationProvider) { 

    $stateProvider.state('contacts.detail', { 
       url: "/contacts/:contactId", 
       templateUrl: 'contacts.detail.html', 
       controller: contactEditCtrl 
       } 
     ... 

и я пытаюсь передать параметр «ContactId» из URL к контроллеру в другом файле, называемом contactEditCtrl.js, как это:

.module("contactManagement ") 
.controller("ContactEditCtrl", ["contactResource", ContactEditCtrl]); 

    function ContactEditCtrl(contactResource, $stateParams) { 
      var vm = this; 
      var contactId = $stateParams.contactId; 
      vm.title = ''; 
      vm.message = ''; 

      contactResource.get({ id: **contactId** }, 
      ...more stuff... 

Но ContactId не достигает контроллера, используя $ stateParams, как говорится в документации.

Все, что мне нужно, это вставить это ContactId в контроллер, но я не понимаю!

Любая идея о том, чего я здесь не хватает?

+0

'.controller ("ContactEditCtrl", [ "contactResource", "$ stateParams", ContactEditCtrl]);' добавить stateParams в зависимости в объявлении контроллера –

+0

Великий, он работает !!!! Благодаря –

ответ

1

Вы забыли "Титулы"

.state('contacts.detail', { 
    url: "/contacts/:contactId", 
    params:{contactId: null}, 
..more code... 
}) 
+0

добавил «Params», но по-прежнему не работает, я получаю сообщение об ошибке: «Ошибка: $ stateParams неопределен» и, конечно, форма не получает заселена –

+0

ха-ха. добавьте его как зависимость! –

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

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