繁体   English   中英

AngularJS哲学 - 控制器作为服务的“窗口”

[英]AngularJS philosophy - controllers as “windows” to services

对不起,标题含糊不清;

我一直在重构我的一些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 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM