因此,这不是典型的如何去做的问题。我知道这可以通过服务或工厂完成,但我想知道是否有人可以分享创建基本服务的优点/缺点,将其注入每个控制器,然后使用每个控制器的功能扩展服务。类似于下面的示例..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