我想通过整个应用程序保存和传递数据。为此,我写了共享服务
import { Injectable } from '@angular/core';
export interface IAccountModel {
sessionId: string;
}
@Injectable()
export class AccountContextService {
AccountModel: IAccountModel = {
sessionId: ''
};
constructor() { }
}
我有疑问,哪一个是最佳实践,使用类或接口来处理数据。
有什么好处或缺点?
您可以使用接口、抽象类甚至类来代替接口,但存在重要的限制:只有类和 OpaqueToken
s可用于注入。
class AbstractService {}
class Service extends AbstractService implements IService {}
//will not work
provide: [{provide: IService, useClass: Service}]
constructor(private service:IService){}
//will work
provide: [{provide: AbstractService, useClass: Service}]
constructor(private service:AbstractService){}
constructor(private @Inject(AbstractService) service:IService){}