将模块注入另一个模块

时间:2016-03-10 20:07:39

标签: javascript angularjs

我有两个模块:地图的第一个模块和付款的另一个模块。 我希望在付款时显示地图的两个点A和B之间的方向。

我想知道如何在付款中注入地图的模块或控制器

'use strict';

(function () {
  'use strict';

  var module = angular.module('etaxi.main');

  module.controller('HomeCtrl', HomeCtrl);

//Controller of map

  function HomeCtrl($scope, $rootScope, $timeout, $ionicPopup, uiGmapGoogleMapApi, $http, $log, $document) {
  //...
})();

付款控制器

'use strict';

(function () {
  'use strict';

  var module = angular.module('etaxi.payment');

  module.controller('PaymentCtrl', PaymentCtrl);

  function PaymentCtrl($scope, $ionicModal, $ionicLoading, $timeout, uiGmapGoogleMapApi) {
 //...
})();

1 个答案:

答案 0 :(得分:1)

在您的情况下,您不应该使用implicit-annotation,但您可以尝试$inject-property-annotation或内联数组注释。所有这些方式都在官方文档中:AngularJS Dependency Injection

您的代码:

 var module = angular.module('etaxi.payment', ['etaxi.main']); 
 module.controller('PaymentCtrl', PaymentCtrl);

  var PaymentCtrl = function($scope, $ionicModal, $ionicLoading, $timeout, uiGmapGoogleMapApi, etaxiMain) {
    ...
  }
  PaymentCtrl.$inject = ['$scope', '$ionicModal', '$ionicLoading', '$timeout', 'uiGmapGoogleMapApi', 'etaxi.main'];

UPD:忘了添加:var module = angular.module('etaxi.payment', ['etaxi.main']);(已修复)。