控制器作为服务的“窗口”
对于模糊的标题感到抱歉;
我一直在重构我的一些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?