我有一个类(接口)在我的角4应用程序,它有很多领域。 请注意,此类/接口的实例是immutable
(即成员永远不会被更改)。对于有很多字段的类/接口,性能会有什么影响?
E.g.
public interface IHaveALotOfFields {
field1: string;
//...
field500: string;
}
此接口是通过提供一个(单件/应用程序级别提供的)服务提供的,该服务将类作为成员公开。例如。
@Injectable()
public class MyService {
public translations: ITranslationsProvider;
}
该服务在ts
-part组件的注入大量在其相应的模板中使用的部件(几乎所有组件)和经常的和经常也。例如。
@Component({
template: `Value: {{service.field500}}`
})
export class MyComponent {
public constructor(public service: MyService) {
}
private doSomething(): string {
return this.service.field1;
}
}
现在我的问题:
- 将一个大的类(很多领域)做出,因为变化的检测角慢?
- 有没有办法将班级标记为“忽略变更检测”? (类似的东西来
ChangeDetectionStrategy.OnPush
,但不是指定此为每个组件,可以在类本身或服务的成员上进行声明)
请注意,我不想改变变化检测所有我的组件的战略OnPush
。
的接口只是一种类型检查的方法。它不会被注入...只有被注入的对象被一个类的新实例化。界面是这个班将遵守的合同。在界面中为合同分配属性和方法签名......服务具有@Injectable和Angular负责为您自动实例化这些东西,并自动将事物连接在一起。 – JGFMK
我知道。我有实现这个接口的具体类。 MyService基本上获得了实现注入接口的类的实例。 –
界面不是只注入对象..这是我希望能帮助你的。即您无法在界面上进行新操作... – JGFMK