2016-06-02 17 views
1

私はAngularJsを学んでいます。インデックス上に1つのスーパーモジュールを持つ1ページ/ 1つのモジュールパターンを使用しようとしています。モジュールAからモジュールBに引数を渡すにはどうすればよいですか?

今、私は特定のレシピを表示するページを開くためのルートを持っています。 ルーティングを使用してページを表示できます。私は私のルートにパラメータを入れましたが、自分のrecipe_moduleで私のパラメータにアクセスすることはできません。

私のインデックスモジュール

var layout = angular.module('LayoutApp', [ 
            // Dépendances du "module" 
            'ngRoute', 
            'RecipeDetailsApp' 
             ]); 
layout.config([ '$routeProvider', function($routeProvider) { 
    $routeProvider 
     .when('/recettes_details/:idRecette', { 
      templateUrl: 'partials/recettes_details.html', 
     }); 
}]); 

私のレシピモジュール:

var RecipeDetails = angular.module('RecipeDetailsApp', [ 'ngFactoryApp', 'ngRoute' ]); 

RecipeDetails.controller('RecipeDetailsCtrl', [ 'ngFactory', function(ngFactory, $routeParams) { 
this.recipeId = $routeParams.param; 

}]); 

そして最後に私のレシピHTML

私は提供することができますどのように
<div ng-app="RecipeDetailsApp" ng-controller="RecipeDetailsCtrl as recipeDetailsCtrl"> 
    <h1> {{RecipeDetailsCtrl.recipeId}}</h1> 
</div> 

ここ

は私のコードです任意のパラメータ$ scope変数を使用せずにmy recipe_moduleに移動しますか? ありがとう

+0

両方のアプリケーションが通信するために依存する共有サービスを使用することができます。 – Lee

+0

これは私の2番目のアイデアでした。しかし、あなたがページを持っているのと同じくらい多くのモジュールを作成するように指示している場合は特に、ページから別のパラメータにパラメータを渡すことはできないのは間違いです。 – ihadjiat

答えて

0

私はついに間違いを理解しました。 私はちょうど悪い注入構文を持っていた...私は書いた:私は書かれているはずです

RecipeDetails.controller('RecipeDetailsCtrl', [ 'ngFactory', function(ngFactory, $routeParams) { 
this.recipeId = $routeParams.param; 

}]); 

RecipeDetails.controller('RecipeDetailsCtrl', '$routeParams, [ 'ngFactory', function(ngFactory, $routeParams) { 
this.recipeId = $routeParams.param; 

}]); 

と今を、私は別のページからパラメータを送信することができます。

ありがとうございます!

0

すべてのモジュールに共通するすべてのもの(サービス、ディレクティブ、フィルタ)を含むモジュールを作成し、必要なモジュールに組み込むことをお勧めします。その後、

angular.module('Common',[]) 
.factory('Common.utilsSvc', function(){ 

}) 

とあなたに共通のモジュールを使用します:よう

何か

var layout = angular.module('LayoutApp', ['Common']); 

はそれが役に立てば幸い!

+0

私は実際には特定のタスク(jsonファイルからデータを取得するようなもの)のための共通の工場を持っています。 しかし、ページから別のパラメータにパラメータを渡すことは、そのパラメータを使用するべきではありません。 ファクト "ハック"のためのパラメータを追加したり、ファクトリを作成するために追加することは、 – ihadjiat

関連する問題