В настоящее время я борюсь за понимание принципов модулей в AngularJs.
У меня есть 3 файла:
- Приложение
- Контроллер
- Завод
Я хочу использовать фабрику внутри моего контроллера:
App.js :
angular.module('myApp', ['ngMaterial', 'ngMessages']);
Controller.js :
angular.module('myApp').controller('MyController', function () {
...
}
Factory.js :
angular.module('myApp').
factory('test', function () {
return 'Just a test';
});
Как мой контроллер может узнать от test
- фабрики?
4 ответа
Вы вводите это как зависимость, как вы делаете для 'ngMaterial', 'ngMessages'
angular.module('myApp').controller('MyController', ['test',function (test) {
...
]};
PS это то же самое, что делать, но работать, когда вы увеличиваете код
angular.module('myApp').controller('MyController',function (test) {...};
Введите свой завод туда, где вы хотите его использовать. В этом случае ваш контроллер.
angular.module('myApp').controller('MyController', function ('test') {
...
}
Также стоит помнить, что если у вас есть несколько модулей, вы можете внедрить их друг в друга и использовать их сервисы друг с другом посредством внедрения зависимостей.
Ваш код совершенно в порядке. Вам просто нужно ввести фабрику в свой контроллер. Смотрите ниже
angular.module('myApp').controller('MyController', ['$scope','test',function ($scope, test) {
// Do your stuff here with test
]};
Внедрение зависимости!
Введите фабрику в контроллер. Тогда вы можете использовать заводские услуги с вашего контроллера.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.