当你初试 Angular 时,很自然地就会往 controller 和 scope 里堆满不必要的逻辑。一定要早点意识到,controller 这一层应该很薄;也就是说,应用里大部分的业务逻辑和持久化数据都应该放在 service 里。很多人问道,关于如何在 controller 里保存持久化数据。这就不是 controller 该干的事。出于内存性能的考虑,controller 只在需要的时候才会初始化,一旦不需要就会被抛弃。因此,每次当你切换或刷新页面的时候,Angular 会清空当前的 controller。与此同时,service 可以用来永久保存应用的数据,并且这些数据可以在不同的 controller 之间使用。
Angular 提供了3种方法来创建并注册我们自己的服务。
1. Provider
2. Factory
3. Service
 
 
1. Angularjs  provider方法 以及provider供应商的概念
 
Angularjs中的 interpolateProvider
 
Providers 是唯一一种你可以传进 .config() 函数的 service。当你想要在 service 对象启用之前,先进行模块范围的配置,那就应该用 provider。
 

 
2. Angularjs 中 factory 使用
 
Factory  方法直接把一个函数当成一个对象的$get 方法可以直接返回字符串
 
用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。你把 service 传进 controller 之后,在 controller 里这个对象里的属性就可以通过 factory 使用了。
 

 
3. Angularjs 中 Service使用
 
 
Service 是用"new"关键字实例化的。因此,你应该给"this"添加属性,然后 service 返回"this"。你把 service 传进 controller 之后,在controller里 "this" 上的属性就可以通过 service 来使用了
 

 
4. Provider供应商的概念
 
 
5. 研究ionic 代码中的services

最新文章

  1. 关于xml加载提示: Error on line 1 of document : 前言中不允许有内容
  2. 第四篇:白话tornado源码之褪去模板外衣的前戏
  3. hduoj 1251 统计难题
  4. 【JAVA】Quartz 任务调度和异步执行器
  5. 让ecshop用户名、手机号、email登陆方法
  6. 地球上最大的PHP站点 后端技术解密
  7. LINQ之路 3:C# 3.0的语言功能(下)
  8. 2005: [Noi2010]能量采集 - BZOJ
  9. Android软键盘调用及隐藏,以及获得点击软键盘输入的字母信息
  10. 转载——SQL Server数据库性能优化之SQL语句篇
  11. 例解 autoconf 和 automake 生成 Makefile 文件
  12. python3.5 + django1.9.1+mysql
  13. SmokePing 部署实践
  14. Linux-网络管理
  15. nginx常用指令
  16. 对 UDP 的一些思考
  17. Linux C Socket TCP编程介绍及实例
  18. hexo上部署博客到Github失败
  19. Linux 系统学习梳理_【All】
  20. struts2封装请求参数

热门文章

  1. dubbo-集群容错
  2. 看起来像是break的考量
  3. Python中的对象行为与特殊方法(二)类型检查与抽象基类
  4. MFC限制edit控件的字符输入长度
  5. 三星sm865
  6. 【做题】arc080_f-Prime Flip——转换、数论及匹配
  7. dajie项目的坑
  8. win32 汇编学习(2):消息框
  9. 【分库、分表】MySQL分库分表方案
  10. p3398 仓鼠找sugar (LCA+讨论)