首先理解一下angular的服务的本质就是依赖注入 我们写在一个ts文件中 其实service就是一个Injector
@Injectable()
class Product {
constructor(
private name: string,
private model: string,
private color: string,
private price: number,
private type: string
) { }
}
export class HomeGrandComponent implements OnInit {
constructor() { }
ngOnInit() {
const injector = Injector.create({
providers: [
{
provide: Product,
useFactory: () => {
return new Product('大米手机', 'DM-9', '黑色', 2999, '全网通');
},
deps: []
},
{
provide: PurchaseOrder,
deps: [Product]
},
{
provide: token,
useValue: { baseUrl: 'http://local.dev' }
}
]
});
//class方式
console.log('injector获取product', injector.get(PurchaseOrder).getProduct);
//injection方式
console.log(injector.get(token));
}