【问题标题】:How can i pass value from one angular module another Module?如何从一个角度模块传递另一个模块的值?
【发布时间】:2015-04-03 22:06:55
【问题描述】:

我是 Angular 概念的新手我正在尝试将值从一个模块传递到另一个模块。 我使用 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 从一个模块传递到另一个模块?** 感谢帮助新手!!

【问题讨论】:

    标签: angularjs angularjs-scope


    【解决方案1】:

    您可以这样做:

    //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

    乐于助人!

    【讨论】:

      猜你喜欢
      • 2019-06-14
      • 1970-01-01
      • 2021-03-07
      • 2018-10-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      相关资源
      最近更新 更多