0
我有一个类用作从服务器获得的一些数据的模型。这些数据以一个笨拙的xml对象开始,其中文本节点具有属性,因此我将其转换为json格式时没有简单的字符串值。相反,我有:在Angular 2中为依赖注入提供模型类的新实例
@Injectable()
export class FooString {
_attr: string;
value: string;
isReadOnly(): boolean {
return this._attr && this._attr === 'ReadOnly';
}
isHidden(): boolean {
return this._attr && this._attr === 'Hid';
}
}
然后,我的模式是这样的:
@Injectable()
export class Payment {
constructor(
public FooId: FooString,
public FooStat: FooString,
public FooName: FooString) { }
}
一切与FooString的同一个实例结束。我如何为每个人获取离散实例?
我已经尝试了工厂,但它仍然只创建一个实例:
export let fooStringProvider = provide(FooString, {
useFactory:(): FooString => {
console.log('in foostring factory');
return new FooString();
}
});
谢谢。我去做。我不明白我什么时候应该使用'new',以及何时应该使用Angular的DI。你能启发我,还是指向正确的方向?我上面给出的例子是其中一个简单的对象,但我有其他的包含多个复杂的数据结构。它开始看起来很像一辆带引擎,轮胎等的汽车的Angular.io例子。从表面上看,DI似乎很棒,但我只能有一个实例? – Andrew
我更新了我的答案。 –