将普通对象注入角度6服务时出错

时间:2018-06-14 21:35:55

标签: angular

我有一个服务,我想在实例化时将一个对象注入其中

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)

1 个答案:

答案 0 :(得分:0)

你想要完成什么?如果您只想要该对象的实例,请执行以下操作:

@Injectable({  providedIn: 'root' })
export class myService {
  private obj: myObj;
  constructor() {
    this.obj = new myObj();
  }
}

注入是为了在应用程序中获取共享服务的单例实例,而不是用于访问应用程序中的所有对象。