그렇다면 일반적인 방법은 아닙니다. 나는 그것이 서비스 나 공장에서 할 수 있다는 것을 알고 있지만 누군가 기본 서비스를 만들고, 그것을 각 컨트롤러에 주입 한 다음, 각 컨트롤러의 기능으로 서비스를 확장하는 것의 장단점을 공유 할 수 있는지 궁금해했다. . 다음 예제와 비슷한 내용이 있습니다.AngularJS, 컨트롤러간에 데이터 공유
app.service('HelperService', function() {
return {};
});
app.controller('Controller1', function($scope, HelperService) {
$scope.somefunc = function() {
//do stuff here
};
HelperService.somefunc = $scope.somefunc;
});
app.controller('Controller2', function($scope, HelperService) {
HelperService.somefunc();
});
이 방법은 효과가 있으며 잘 작동합니다. 나는 이것을 묻는 것에 대해 약간 어리 석음을 느낀다. 그러나 이것이 왜 사용되지 않거나 권장되지 않는지에 관해서 나는 여기서 뭔가를 놓치고있는 것처럼 보인다.
서비스는 싱글 톤이므로 확장 할 수 있습니다. 컨트롤러에 함수 추가 기능이 있으면 지저분 해집니다. 처음에는 함수를 추가하지 않는 것이 어떻습니까? – lucuma
그래, 틀림없이 그것은 지저분해질 수 있고 서비스에서 그 중 일부를 수행하는 것이 더 깨끗합니다. 이런 식으로하는 것이 장단점이 있다면 (난장판을 제외하고) 나는 단지 궁금했다. – dferg
서비스와 그 기능을 호출하는 다른 컨트롤러에 기능을 추가하는 컨트롤러로 더 큰 앱을 유지 보수하려고 생각하십시오. – lucuma