2016-04-18 9 views
1

を関数を呼び出すために、私は2つのモジュールがありますか?どのように他のモジュールからの私のangularJSアプリケーションで

+3

:次にモジュールBalertAファクトリを使用

var moduleA= angular.module('A',[]); moduleA.factory('factoryA', function() { return { alertA: function() { alert('a'); } }; }); 

。関数が共有され、Angularで交差注入される方法です。例:http://stackoverflow.com/questions/18607010/accessing-factory-defined-in-another-module-in-angularjs – isherwood

+0

他にも:http://stackoverflow.com/questions/33882051/call-a-function -in-a-controller-in-another-module-in-angularjs – isherwood

+0

あなたの答えをありがとう。 –

答えて

7

あなたがモジュールに工場を定義する必要があります:あなたの機能がサービスにリファクタリングする必要があります

angular.module('B',['A']).controller('BCtrl',function($scope,'factoryA'){ 
    factoryA.alertA(); 
}); 
1

次の手順を実行するには、あなたのコードをリファクタリング:

  1. コントローラ

にサービスを注入B

  • をモジュールに依存関係として、モジュールAの追加モジュールで
  • をサービスの定義ここに例があります:

    angular.module('A').service('API', function ($http) { 
        this.getData = function() { return $http.get('/data'); }; 
    }); 
    
    angular.module('B', ['A']).controller('dashboardCtrl', function ($scope, API) { 
        API.getData().then(function (data) { $scope.data = data; }); 
    }); 
    
  • 関連する問題