Возможно ли внедрить полный модуль в контроллер вместо того, чтобы вводить отдельно каждую услугу?Можно ввести полный модуль в угловое?
Например:
var app = angular.module('myApp', ['myApp.core']);
angular.module('myApp.core', [])
.factory('ABService', function() {
return {
getA: function() {
return 'A';
},
getB: function() {
return 'B';
}
}
})
.factory('AnotherService', function() {
return {
calc: function(a, b) {
return a + b;
}
}
})
app.controller('MainCtrl', function($scope, 'myApp.core') {
ABService.getA();
AnotherService.calc(2, 2);
});
Вместо
app.controller('MainCtrl', function($scope, ABService, AnotherService) {
ABService.getA();
AnotherService.calc(2, 2);
});
Извините, но это не имеет никакого смысла, даже если это возможно (а это не так), это будет сложно проверить .. и вы не просто вводите только то, что вам нужно. 'myApp.core' - это модуль, который является контейнером для его объектов. Также читайте об инверсии зависимостей одного из твердых принципов ... – PSL
Представьте себя как время выполнения JavaScript. Что такое ABService? Где объявляется эта переменная? –
Я не понимаю, почему вы говорите, что это не имеет никакого смысла. Если вы используете все службы в одном модуле, было бы более эффективно вводить весь модуль, а не: ['$ scope', 'Service1', 'Service2', 'Service3', 'Service4', function ($ scope, Service1, Service2, Service3, Service4) {...}] – user1161554