AngularJS在另一个模块中注入一个模块并调用函数

时间:2016-05-23 12:33:25

标签: angularjs

代码来自http://plnkr.co/edit/jcOwg8HgBGPtod4yCR5j?p=info

我阅读了以下代码,但我仍然对 notifytwo 的实例如何传递给工厂通知感到困惑?

工厂通知具有名为 sampleFun 的功能,该功能调用另一家名为 notifytwo 的工厂的 sampleFunTwo ,但我还没有找到何时以及如何 notifytwo 的实例正在传递给工厂通知

请帮我理解代码流程。感谢

var myModule= angular.module('MyServiceModuleOne', ['MyServiceModuleTwo']);
myModule.controller('TestController', ['$scope', 'notify', function($scope, notify){
        $scope.getFn = function() {
          notify.sampleFun();
        }
      }]);

    myModule.factory('notify', 
        function(notifytwo) {
        return {

         sampleFun: function() {
                      notifytwo.sampleFunTwo();

                      },      
              };
        }
    );



    var myModuleTwo= angular.module('MyServiceModuleTwo',[]);
    myModule.factory('notifytwo', 
        function() {
        return {

         sampleFunTwo: function() {
                   alert('From notify two');
                  }    
          };
        }
    );

1 个答案:

答案 0 :(得分:0)

通知工厂可以调用工厂notifyTwo,因为在创建notify实例时会注入notifyTwo:

myModule.factory('notify', 
    function(notifytwo) //RIGHT HERE IS WHERE IT'S INJECTED
相关问题