Javascript AngularJS哲学-控制器为;“窗口”;服务

Javascript AngularJS哲学-控制器为;“窗口”;服务,javascript,design-patterns,angularjs,angularjs-scope,angularjs-service,Javascript,Design Patterns,Angularjs,Angularjs Scope,Angularjs Service,对不起,标题含糊不清 我一直在重新构造一些AngularJS代码,试图更“有角度”,我注意到出现了这样一种模式: app.service("someService", function(...) { ... } app.controller("ControllerForThisSection", function($scope, someService) { $scope.someService = someService } 基本上,控制器主要是为作用域提供对服务的引用,以

对不起,标题含糊不清

我一直在重新构造一些AngularJS代码,试图更“有角度”,我注意到出现了这样一种模式:

app.service("someService", function(...) {
    ...
}

app.controller("ControllerForThisSection", function($scope, someService) {
    $scope.someService = someService
}
基本上,控制器主要是为作用域提供对服务的引用,以便视图可以使用它,如

<div ng-if="someService.status">
    ....
</div>

....
因此,我有多个控制器,它们只依赖于某些共享数据或服务,并通过作用域提供对这些服务的引用

使用这种设计有什么缺点吗?我能改进我的思维吗?这是“有角度”的方法吗

谢谢你的建议

这是“有角度的方式”。共享数据应该放在服务中,然后在需要时注入

我喜欢主要从模型(通常存储在服务中)和视图的角度来考虑我的Angular应用程序。控制器只是一种粘合剂,允许我们投影/提取特定UI视图所需的模型部分


另外,将服务看作是返回一个模型API,而不是一个模型对象(to)。

尽管我使用指令而不是控制器,但我的情况非常类似。我一直对这种模式很有信心,但这是一个非常有趣的问题,关于一个主控制器,它封装了所有的控制器来服务于这项服务?