В текущем проекте, в котором я работаю, у меня есть контроллер, который занимается операциями, выполняемыми на сетке. Как удалить Редактировать добавить новую строку инициализировать проверку и так далее. В начале все было хорошо, но по мере того, как операции увеличивали файл, он превращался в очень длинный файл, и ему казалось, что трудно найти материал и работать. Я добавлю следующий пример кода, который будет описывать мой вопрос.Расширить угловой контроллер
Мой вопрос: есть ли способ расширить контроллер на несколько файлов? Или есть лучший способ решить мою проблему?
app.js
var myApp = angular.module('myApp', ['mainControllers']);
gridCntrl
mainControllers.controller('mainController', ['$scope', function ($scope) {
$scope.init = function() {
alert('I am initialized');
};
$scope.click = function() {
alert('I am clicked');
};
}]);
Чтобы быть более ясно, есть ли способ, чтобы отделить $ scope.init и $ scope.click под тем же контроллером но в отдельных файлах? Спасибо
Похоже, у вас много логики в контроллере. Вместо этого попробуйте перейти к услугам. – cbass
Правильно, но можно ли добавить область контроллера сетки в определение услуги? Я знаю, что я могу получить к нему доступ, покупая его из элемента, но можем ли мы добавить его в определение как параметр? – SamSamet
Да, вы можете создать отдельный файл (common_utils.js) и вызвать его в index.html. там вы можете создать метод с параметром scope (для перемещения общей функциональности). этот метод можно вызвать из вашего контроллера. – Asik