控制器作为服务的“窗口”

对于模糊的标题感到抱歉;

我一直在重构我的一些AngularJS代码,试图对它做出更多的“Angular”,并且我注意到这种模式出现了很多:

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

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

基本上,控制器主要是为了给范围提供服务的引用,以便视图可以使用它

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

所以我有不止一个控制器只能依赖于某些共享数据或服务,并且可以引用通过范围提供的那些服务。

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

感谢您的任何建议!


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

我喜欢以模型(通常存储在服务中)和视图为主角来思考我的Angular应用程序。 这些控制器只是让我们能够投影/提取特定UI视图所需的模型部分的粘合剂。

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

链接地址: http://www.djcxy.com/p/72245.html

上一篇: controllers as "windows" to services

下一篇: How can I load HTML fixtures for Javascript unit tests in Karma with Mocha?