依赖注入工厂模块另一个

时间:2016-09-29 11:01:19

标签: javascript angularjs ionic-framework

我尝试使用依赖注入工厂来模块化另一个,但它不工作。我使用离子框架和角度。

angular.module('starter.services1', []).factory('Test 1', function($http) {
  return {
    show_text: function() {
      console.log(test1)
    }
  }
});
angular.module('starter.services2', ['starter.services1']).factory('Test2', function($http, Test1) {
  return {
    Test1.show_text();
  }
});
  

错误:无法读取未定义

的属性'show_text'

2 个答案:

答案 0 :(得分:3)

你的工厂是Test 1,在定义工厂时最好没有空间的名字,所以把它改成没有空格的东西,

angular.module('starter.services1', []).factory('factorySample1', function($http) {
  return {
    show_text: function() {
      console.log(test1)
    }
  }
});
angular.module('starter.services2', ['starter.services1']).factory('Test2', function($http, factorySample1) {
  return {
    factorySample1.show_text();
  }
});

答案 1 :(得分:0)

您的代码有两个问题,一个是拼写错误和console.log(test1)。但是由于initShow function

的拼写错误,您的代码无法正常工作



angular.module('starter.services1', []).factory('Test1', function($http) {
  return {
    show_text: function() {
      console.log('test1')
    }
  }
});
angular.module('starter.services2', ['starter.services1']).factory('Test2', function($http, Test1) {
  return {
    initShow: function() {
      Test1.show_text();
    }
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
&#13;
&#13;
&#13;