Angularjs 如何将参数从模块A传递到模块B?

Angularjs 如何将参数从模块A传递到模块B?,angularjs,Angularjs,我正在学习AngularJs,我尝试使用一页/一个模块的模式,索引上有一个超级模块 现在,我有一个路径打开一个页面,其中显示一个特定的配方。 我能够使用路由显示我的页面。我在路由中放置了一个参数,但无法访问配方模块中的参数 这是我的密码: 我的索引模块 var layout = angular.module( 'LayoutApp', [ // Dépendances du "module"

我正在学习AngularJs,我尝试使用一页/一个模块的模式,索引上有一个超级模块

现在,我有一个路径打开一个页面,其中显示一个特定的配方。 我能够使用路由显示我的页面。我在路由中放置了一个参数,但无法访问配方模块中的参数

这是我的密码:

我的索引模块

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;

}]);
最后是我的食谱

<div ng-app="RecipeDetailsApp" ng-controller="RecipeDetailsCtrl as recipeDetailsCtrl">
    <h1> {{RecipeDetailsCtrl.recipeId}}</h1>
</div>

{{RecipeDetailsCtrl.recipeId}
我如何在不使用$scope变量的情况下为我的recipe_模块提供任何参数?
谢谢

我建议您创建一个包含所有模块通用的所有内容(服务、指令、过滤器)的模块,并将其包含在您需要的模块中

比如:

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

})
然后使用您的通用模块:

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

希望有帮助

我建议您创建一个包含所有模块通用的所有内容(服务、指令、过滤器)的模块,并将其包含在您需要的模块中

比如:

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

})
然后使用您的通用模块:

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

希望有帮助

我终于明白我的错误了。 我只是注射语法不好。。。我写道:

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

}]);
我应该写的地方是:

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

}]);
现在,我可以将参数从一个页面发送到另一个页面


谢谢

我终于明白我的错误了。 我只是注射语法不好。。。我写道:

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

}]);
我应该写的地方是:

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

}]);
现在,我可以将参数从一个页面发送到另一个页面


谢谢

你可以使用两个应用程序都依赖的共享服务在2个应用程序之间进行通信。这是我的第二个想法。但你不能将一个参数从一个页面传递到另一个页面似乎有点奇怪,尤其是当angular doc告诉你创建至少与页面数量相同的模块时。你可以使用两个应用程序都依赖的共享服务在两个应用程序之间进行通信。这是我的第二个想法。但是,你不能将参数从一个页面传递到另一个页面,这似乎很奇怪,特别是当angular文档告诉你创建至少与页面数量相同的模块时。但是,将参数从一个页面传递到另一个页面并不是它应该用来做的事情。仅仅为此添加创建工厂,或者为快速“黑客”添加参数,都是不对的。实际上,对于某些特定任务(比如从json文件获取数据),我有一个公共工厂。但是,将参数从一个页面传递到另一个页面并不是它应该用来做的事情。仅仅为此而添加创建工厂,或者为快速“黑客”添加参数,这都是不对的