factory , service , provider都是angular 提供的服务factory就是原生js里的方法,一个简单的函数service类似原生里构造函数的过程,拥有一个构造器constructor,也就是说有 new的过程,追加属性和方法都是在this上追加的provider是服务商当service需要配置的时候,需要使用provider提供服务,例如当使用angular进行跨域访问,需要配置jsonp信息的时候,就可以使用provider进行config的配置,简单理解是service的高级版本,provider提供一个$get的属性来返回 $provider的实例他们都是单例模式,只实例化一次
个人理解 :provider > service > factoryfactory用来配置简单的服务service是在factory的基础之上加入了面向对象的思想,提供更多功能的服务provider是在service的基础上进一步改进配置信息factory与service在底层代码上都来源于provider
例子介绍:我可以在factory里写一个http()请求,不做任何配置,参数写死我可以在service里写一个 http( )请求,不做任何配置,参数写死我可以在service里写一个http()请求,不做任何配置,参数写死我可以在service里写一个http( )请求,传入请求的参数可以先配置在this的属性上传入方法我可以在provider里写一个请求,然后在config上传入要配置的参数,URL, method,data等信息,通过config来修改provider的参数,再将服务商提供的服务注入控制器controller
注意事项:config里传入的参数是nameProvider而不是name,也就是说你的叫做 myProvider, config 里传入的参数就是myProviderProvider而不是myProvider
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)