Iam New To Angular Concept Iam试图将Value从一个模块传递到另一个模块。 我使用Meanjs Generator根据需要为每个模块添加了更多模块。
示例: - 餐厅模块的餐厅控制器: -
angular.module('restaurants').controller('RestaurantController', ['$scope','$http','$stateParams', '$location', 'Authentication','$rootScope'
function($scope,$http, $stateParams, $location, Authentication,$rootScope) {
$scope.create = function() {
// Create new Restaurant object
var resObj = {
displayName: this.displayName,
var restaurant = new Restaurants(resObj);
// Redirect after save
restaurant.$save(function(response) {
$location.path('restaurants/'+ restaurant._id);
**Need to Pass restaurant._id to the Menusconttoller**
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};
]);
我需要将餐馆ID传递给下面的菜单控制器吗?
angular.module('menus').controller('MenusController1', ['$scope','$http', '$stateParams', '$location', 'Authentication'
function($scope,$http, $stateParams, $location,Authentication) {
// Create new Menu
$scope.create = function () {
$scope.isCreateloading=true;
var menusObj= {
'displayName' : this.displayName
restaurantId : this.restaurantId // **where i need to recieve the Id which is pased from Restaurant Controller**
};
here i need to get the Id from Restaurant Module
$scope.menuForm=menusObj;
var menu = new Menus1(menusObj);
// Redirect after save
menu.$save(function (response) {
$location.path('menus/'+menu._id);
}, function (errorResponse) {
$scope.error = errorResponse.data.message;
});
};
]);
我做了$ rootscope Broadcasting,$ scope.emit等,但是所有的例子都在同一个模块中有更多的控制器。这不适合我的情景。
请建议: -
**如何将id从一个模块传递到另一个模块?** 感谢帮助新手!!
答案 0 :(得分:10)
你可以这样做:
//this is one module
var myUtilModule = angular.module("myUtilModule", []);
// this is value to be shared among modules, it can be any value
myUtilModule.value ("myValue" , "12345");
//this is another module
var myOtherModule = angular.module("myOtherModule", ['myUtilModule']);
myOtherModule.controller("MyController", function($scope, myValue) {
// myValue of first module is available here
}
这是教程AngularJS Modularization & Dependency Injection
快乐帮助!