如何将类作为新实例注入?

时间:2018-07-25 12:49:10

标签: angular typescript dependency-injection

我有两个注射类。

@Injectable()
export class Base {
value: string;
constructor() {
    this.value = "default value";
  }
}

@Injectable()
export class MyClass {
constructor(private base: Base) {
    base.value = "value from MyClass";
  }
}

我知道可注入类是单例。因此,MyClass将覆盖所有应用程序的value类中的Base(我向Base注入MyClass类)。但是我只需要为value更改MyClass。如何注入Base而不是单身?如何将Base注入为新实例?

1 个答案:

答案 0 :(得分:0)

u必须像这样在您的组件中提供“ Base”和“ MyClass”:

@Component({
...
providers: [
    Base,
    MyClass
   ]
})
export class ExampleComponent { 
   ...
}