модуль фабрики зависимости зависимости другой

0

Я пытаюсь использовать фабрику инъекций зависимостей для модуля другой, но она не работает. Я работаю с ионным каркасом и угловым.

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 неопределенного

  • 1
    В названии фабрики не должно быть пробела в названии Test 1 . Измените его на Test1 при определении фабрики.
  • 0
    Спасибо! Но после того, как я изменился, он все еще не работает. 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: funtion(){ Test1.show_text(); } } });
Теги:
ionic-framework

2 ответа

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();
  }
});
0

У вашего кода две проблемы: одна - ошибка орфографии и console.log(test1). Но ваш код не работал из-за орфографической ошибки в function initShow

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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню