angular如何组织controller directive service

作者自己在公司和自己的项目,使用angular1.x的过程中,随着项目规模一步步扩大,之前的代码组织方式弊端已经相当明显,每次功能拓展都是痛彻心扉的重构,一直在思考如何更有效率的组织代码,如何正确的使用Controller、Directive和Service

网上这方面的论述比较分散,打算把之前的经验总结一下

Controller只是初始化scope对象,在scope上添加方法

controller应该纯粹地用来把service、依赖关系、以及其它对象串联到一起,然后通过scope把它们关联到view上

业务逻辑应该存在于服务中,而非控制器

控制器永远都不应该去操作DOM,或是持有DOM选择器

其他所有过程都不应该出现在Controller中

所有与视图逻辑(或者说交互逻辑)无关的部分都应该写成Service

请求资源与数据缓存的东西放进service

集中管理所有数据,然后通过某种方式来请求修改它

强烈建议要仔细考虑和使用数据,以及如何存储数据

全部使用 Directive,也就是组件化(component)开发,不是只有公用组件才需要 Directive

需要用到 Controller的地方都都封装成自己的 Directive

DOM操作在指令中去写

数据需要格式化的东西用filter处理。 

遵循单一职责原则(SRP)

服务、指令等应该拥有尽可能少的依赖关系

控制器是视图和模型间的协调者

逻辑就应该尽量少,有利于更好地进行测试

借鉴Angular 2.0的一些最佳实践

引用Trotyl Yu在知乎的回答: Angular 2 就是 Angular 1.x 最佳实践的延伸,所以了解 Angular 2 中的做法,就可以了解 Angular 1.x 中应该怎么做

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值