我有一個類(接口)在我的角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