2016-07-05 12 views
1

Ich habe ein Zustand wie dies in meinem Haupt-App erklärt:

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 
       } 
     ... 

und ich versuche, den Parameter „ContactID“ aus der URL an den Controller zu übergeben in einer anderen Datei namens contactEditCtrl.js wie folgt aus:

.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... 

Aber die ContactID erreicht nicht die Steuerung den $ stateParams verwenden, wie es in der Dokumentation gesagt.

Alles, was ich brauche, ist diese ContactId in den Controller zu injizieren, aber ich verstehe es nicht!

Irgendeine Idee, was ich hier vermisse?

+0

'.Controller ("ContactEditCtrl", [ "contactResource", "$ stateParams", ContactEditCtrl]);' stateParams als Abhängigkeit in Controller Erklärung –

+0

Große hinzufügen, es funktioniert !!!! Dank –

Antwort

1

Sie haben vergessen "params"

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

hinzugefügt „PARAMS“, aber immer noch nicht funktioniert, ich immer einen Fehler bekommen: : „Error $ stateParams nicht definiert ist“, und natürlich wird das Formular nicht –

+0

haha ​​bevölkert bekommen. füge es als Abhängigkeit hinzu! –

Verwandte Themen