2017-03-27 19 views
0

解決法validToken値をコントローラに渡すにはどうすればよいですか?コントローラに角度解決値を渡す際に問題が発生する

設定:

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/recover/:token', { 
    templateUrl: 'recover.html', 
    controller: 'recoverCtrl', 
    resolve: { 
     validToken : function(){ 
      return "INVALID TOKEN" 
     } 
    } 
    }); 
}]) 

コントローラー:

.controller('recoverCtrl', ['$location','$scope','$http', '$routeParams', '$rootScope', 
    function($location,$scope,$http,$routeParams,$rootScope,validToken) { 
     console.log(validToken); 
     // Rest of controller code. 
    } 
]); 

コードが最終的minifedすることができるよう、私は[]年代を削除せずにこれを実行したいと思います。下の例は私が期待しているように動作していますので、私のコードがすべて機能していることを知っています。同様に機能させるために、上記のコードに何を追加すべきか分かりません。

.controller('recoverCtrl', function($location,$scope,$http,$routeParams,$rootScope,validToken) { 
    console.log(validToken); 
    //Other code 
}); 
+1

キー決意したことを判断することができましたか? 'validToken'はそれが依存関係の配列ではないので、注入されません。他の依存関係として渡してください。 – estus

+0

ありがとう@estus、私は一点でそれを試みたと誓い、それは動作しませんでした。 – Michael

+0

ようこそ。 DIはボンネットの下では本当に簡単なので、それがうまくいかない理由はまだ分かりません。これは、コントローラがルートコントローラではなく、ネストされたコントローラがビュー内にある場合などは機能しません。 – estus

答えて

0

Etsusに感謝します。

私はちょうど注入しながら文字列としてオブジェクトのキーを追加する必要があり、それはあなたはそれが動作することを期待するにはどうすればよい

.controller('recoverCtrl', ['$location','$scope','$http', '$routeParams', '$rootScope', 'validToken', function ($location, $scope, $http, $routeParams, rootScope, validToken) { 
    console.log(validToken); 
}]);