2017-01-09 19 views
1

私は次のルートを持っていると関数all_dataでオブジェクトを解決:私はこのようなルートにいくつかのパラメータを渡す場合ngRouteからresolveオブジェクト内の関数に引数を渡すにはどうすればよいですか?

.when('/events', { 
    controller: eventCtrl, 
    templateUrl: 'some/path.html', 
    resolve:{ 
     all_data: function(){ 

     } 

私の質問は、次のとおりです。

.when('/events/:param1'), { 
.... 

私は何とかこれを渡すことができます」 param1 "を以下のように" all_data "関数に追加します。

.... 
resolve: { 
all_data: function(param1){ 
    console.log(param1); 
} 
... 

答えて

0

注意が正常に完了します。これは、ルート解決機能で$routeParamsが正しいことに頼ることができないことを意味します。代わりに$route.current.paramsを使用して、新しいルートのパラメータにアクセスできます。

からAngularJS $routeParams API Reference

+0

ありがとうございました。これは本当にうまくいった。それ以外の場合は、$ routeParamsオブジェクトを受け取った後にコールバックを使用する方法を考えていました。それは本当に正しく動作しませんでした。 – mirchev1977

1

はあなたがngRouteを使用しているassiumingこのようなあなたのresolveメソッドを書くことができますし、UI-ルータを使用している場合は、Use $stateParamsの代わり$routeParams

all_data: ['$routeParams', function($routeParams){ 
    console.log($routeParams.param1); 
} 

'/events/:param1'のようなURLです。 $routeParamsのみルート変更後を更新していることを

+0

おかげで、それは私にとって大きな助けとなりました。残念ながら私は自分自身を評価することはできません。なぜなら私自身は投票に必要なポイントを持っていないからです。 もう一つ: あなたが最後に閉じ角括弧を挿入するには忘れている: all_data:[ '$ routeParams'、関数($ routeParams){ はconsole.log($ routeParams.param1)。 }] – mirchev1977

+0

私の答えがあなたの問題を解決しても問題はありません。ありがとう –

+0

準備ができて、それを受け入れたとマークしました! – mirchev1977

関連する問題