я использую Angular.js
Services
поделиться некоторыми данными между контроллерами, как это:Динамическое впрыскивание обслуживание в angular.js
var mainApp = angular.module("mainApp", []);
mainApp.service('CalcService', function(){
this.square = function(a) {
//do something
}
});
mainApp.controller('CalcController', function($scope, CalcService) {
$scope.square = function() {
$scope.result = CalcService.square($scope.number);
}
});
Это работает, но как вы можете видеть, в контроллере, я должен вводить CalcService
и использование это внутри моего контроллера. Моя проблема заключается в том, что у меня много сервисов, и на некоторых страницах моего приложения мне нужно вводить зависимость службы, а на некоторых страницах мне не нужно! если я пишу его там, на страницах, которые мне не нужны, я получаю ошибку, потому что мой контроллер находится внутри другого файла, и я не загружал его. Как я могу преодолеть это?
Я хочу, чтобы я мог установить эту инъекцию в некоторых случаях. Мне нужен оператор If Else. Это возможно?
Моя структура приложения выглядит следующим образом: у меня есть основное приложение и некоторые виджеты, которые можно прикреплять к странице, но на каждой странице есть разные виджеты, тогда мне также нужно вложить соответствующие виджет-сервисы в мой основной модуль. У меня есть один основной модуль и один главный контроллер, и многие службы внутри других контроллеров. и на каждой странице есть свои виджеты и контроллер. в главном контроллере я должен видеть, какие виджеты загружаются, а затем вводит его услугу.
Да, но у меня есть один главный модуль и один главный контроллер, и многие службы внутри других контроллеров. и на каждой странице есть свои виджеты и контроллер. в главном контроллере я должен видеть, какие виджеты загружаются, а затем вводит его службу. – Fcoder
вы можете отредактировать свой вопрос со структурой каталогов – Sushant