8

抱歉标题含糊;

我一直在重组我的一些 AngularJS 代码,试图让它更加“Angular”,我注意到这种模式出现了很多:

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

app.controller("ControllerForThisSection", function($scope, someService) {
    $scope.someService = someService
}

基本上,控制器主要用于为范围提供对服务的引用,以便视图可以使用它,例如

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

因此,我有很多控制器,它们仅依赖于某些共享数据或服务,并用于通过范围对那些可用的服务进行引用。

使用这种设计有什么缺点吗?我可以改善我的想法吗?这是“角度”的方式吗?

感谢您的任何建议!

4

1 回答 1

4

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

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

此外,将服务视为返回模型API,而不是模型对象(引用 Josh的话)。

于 2013-06-21T15:02:05.933 回答