什么是Angular 5 dependency injection

我理解的dependency injection:


如上图,当我们需要用到一个class的方法时,一般是要new 实例化,然后再使用方法。

而dependency injection的好处就是我们想用某个class的方法,不需要先new出实例,可以考DI(depedency injection)直接用。如下图:


只需要1,import改class,2,在constructor中声明改对象,3,就可以直接调用了。

注意,这里service需要放入providers里:provider在每个ts文件中都可以引入,但只需要引入一次,providers是向下传递,比如在app.modle.ts中引入了,那么所有属于app的子组件都可以用该service。


用dependency injection的好处:

1,不用new 实例,说明我在new class的时候,不需要关心class的构造函数里需要什么参数。

2,一次DI,所有组件都可以用,而且是用同一个service,就是说一个service里的数据是共分享的,可以用于组件间数据传递。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容