请注意,此类/接口的实例是不可变的(即,永远不会更改成员).
例如.
public interface IHaveALotOfFields { field1: string; //... field500: string; }
此接口通过(单例/应用程序级别提供)服务提供,该服务将类作为成员公开.例如.
@Injectable() public class MyService { public translations: ITranslationsProvider; }
该服务被注入许多组件(几乎所有组件),并且经常在其相应的模板中使用,并且通常也在组件的ts部分中使用.例如.
@Component({ template: `Value: {{service.field500}}` }) export class MyComponent { public constructor(public service: MyService) { } private doSomething(): string { return this.service.field1; } }
现在我的问题:
>由于变化检测,一个大班(有很多领域)是否会使角度变慢?
>有没有办法将课程标记为“忽略我的变化检测”? (类似于ChangeDetectionStrategy.OnPush,但不是为每个组件指定这个,而是可以在类本身或服务的成员上声明)
请注意,我不想将所有组件的更改检测策略更改为OnPush.