我正在学习AngularJs,我尝试在索引上使用一个页面/一个模块模式和一个超级模块。
现在,我有一条路线可以打开一个显示特定食谱的页面。 我可以使用路由显示我的页面。我在我的路线中放了一个参数,但是我无法在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变量的情况下为recipe_module提供任何参数? 感谢
答案 0 :(得分:0)
我建议你创建一个模块,其中包含所有模块通用的所有内容(服务,指令,过滤器),并将其包含在您需要的模块中。
类似的东西:
angular.module('Common',[])
.factory('Common.utilsSvc', function(){
})
然后在你的公共模块中使用:
var layout = angular.module( 'LayoutApp', ['Common']);
希望它有所帮助!
答案 1 :(得分:0)
我终于理解了我的错误。 我的注入语法很糟糕......我写道:
RecipeDetails.controller( 'RecipeDetailsCtrl', [ 'ngFactory', function( ngFactory, $routeParams ) {
this.recipeId = $routeParams.param;
}]);
我应该写的地方:
RecipeDetails.controller( 'RecipeDetailsCtrl', '$routeParams, [ 'ngFactory', function( ngFactory, $routeParams ) {
this.recipeId = $routeParams.param;
}]);
现在,我可以将参数从一个页面发送到另一个页面。
谢谢!