我理解的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里的数据是共分享的,可以用于组件间数据传递。