关于angular的问题

用户bPtcBD
  • 550

最近在学习angular,应该说是angular2,因为在接触angular之前学习了vue,所以在学习的过程过中总是对比两者的关系,相互对比着去学习运用,分别用两种框架实现一些小的demo,比方说todomvc
但是学到 服务这块就懵逼了,angular的服务也就是service该怎么理解呢,
我在学习 anguar的管道也就是pipe对比的是vue的filter,angular的指令和vue的指令使用方法差不多,只不过配置比较诡异,对只能这么形容,完全不知道angular配置一些服务的本质是啥,
完全在vue中找不到参照物。
小白 勿喷啊 万望大神解惑啊

回复
阅读 1.8k
5 个回答

AngularJS中的服务其实就是提供一种方式抽取共用类库比如说一些工具类方法,我们传统的做法就是自己写个 utility 类,把相关的工具方法填充到utility里面去,最后把utility类放到一个全局的变量中,这样任何地方都可以调用utility的方法。如果用AngularJS的service,你按照他的规则创建一个 utility 服务,然后在任何地方都可以通过依赖注入调用utility里面的方法。Angular的创建服务的方式有三种:providers,factory,service,关于区别可以看:AngularJS中provider、factory、service的区别

作者:徐海峰
链接:https://www.zhihu.com/questio...
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

服务是对模型层的封装,对共用类库的抽取,通常用来管理数据和请求。

主要是方便对服务(类)的管理,你可以了解一下 IOC(依赖注入)

angular的service, 简单可以理解成辅助类,主要分两种。
一种是可注入的service,使用@Injectable来修饰,这里使用了依赖注入的思想。可以注入到其他service,注入到component中, 比如作为两个component间的桥梁还互相传值,也可以作为一个应用级别的service,比如authentication啊,dirty check啊等等。
另外一种是不可注入的service,即没有使用@Injectable来修饰。
那他的作用就很简单了,就是一个辅助类了。

你可以在service里统一管理数据请求

宣传栏