我正在发现Angular 7,并且想知道如何以最佳方式使用DI。
我的问题基本上是:应该注入给定组件所需的任何对象吗?
我很确定答案是否定的。我的意思是,肯定必须注入服务,因为这只是通常的模式。
但是,例如,如果某个组件需要一个帮助程序类,则应该注入此类,就像这样:
import {CameraDimensionsHelper} from <file path>;
constructor (private cameraDimensions: CameraDimensionsHelper) {}
...或者应该在需要时以更“经典”的方式实例化它,例如:
import {CameraDimensionsHelper} from <file path>;
private myMethod() {
const cameraDimensions = new CameraDimensionsHelper();
}
谢谢您的建议。
答案 0 :(得分:-1)
这取决于助手类的用法。如果助手是特定于单个组件的,则可以创建Class的实例。如果帮助程序类将实用程序方法提供给多个组件,则最好将其设置为@Injectable()
并使用DI。