2016-07-05 7 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 
       } 
     ... 

と私はコントローラにURLからパラメータを渡すために「contactId」をしようとしています

.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を使用してコントローラに到達していない:別のファイルにこのようなcontactEditCtrl.jsと呼ばれます。

私が必要とするのは、そのContactIdをコントローラに挿入することですが、私はそれを取得しません!

私がここで紛失していることについてのアイデアはありますか?

+0

'.controller( "ContactEditCtrl"、[ "contactResource"、 "$ stateParams"、ContactEditCtrl])忘れてしまった;'それは動作しますが、コントローラ宣言 –

+0

グレートに依存関係としてstateParamsを追加します!!!! –

答えて

1

あなたが "のparams"

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

は「PARAMS」を追加、まだ動作しませんおかげで、私はエラーを取得しておいてください。 「エラー:$ stateParamsは未定義である」 そしてもちろん、フォームが笑 –

+0

読み込まれません。依存としてそれを追加してください! –

関連する問題