我有一个服务,我想在实例化时将一个对象注入其中
import myObj from './myObj'
@Injectable({ providedIn: 'root' })
export class myService {
constructor(private myObject: myObj) {}
}
以上代码不起作用,我该如何使用?
我试过用
@Inject(myObj)
在构造函数中,但也没有任何成功..
无论是否使用@Inject
,我都会收到此构建错误:
Error: Internal error: unknown identifier []
at Object.importExpr$$1 [as importExpr] (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:20493:23)
at /Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:9540:33
at Array.map (<anonymous>)
at InjectableCompiler.depsArray (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:9506:21)
at InjectableCompiler.factoryFor (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:9570:32)
at InjectableCompiler.injectableDef (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:9589:38)
at InjectableCompiler.compile (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:9599:102)
at /Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:20338:86
at Array.forEach (<anonymous>)
at AotCompiler._emitPartialModule2 (/Users/oviir/workspace/plugins/node_modules/@angular/compiler/bundles/compiler.umd.js:20338:21)
答案 0 :(得分:0)
你想要完成什么?如果您只想要该对象的实例,请执行以下操作:
@Injectable({ providedIn: 'root' })
export class myService {
private obj: myObj;
constructor() {
this.obj = new myObj();
}
}
注入是为了在应用程序中获取共享服务的单例实例,而不是用于访问应用程序中的所有对象。