diff --git a/packages/core/src/metadata/directives.ts b/packages/core/src/metadata/directives.ts index ab1f8cd50b97..6d080efe8b82 100644 --- a/packages/core/src/metadata/directives.ts +++ b/packages/core/src/metadata/directives.ts @@ -679,7 +679,7 @@ export interface Component extends Directive { */ export const Component: ComponentDecorator = makeDecorator( 'Component', - (c: Component = {}) => ({changeDetection: ChangeDetectionStrategy.Eager, ...c}), + (c: Component = {}) => ({changeDetection: ChangeDetectionStrategy.OnPush, ...c}), Directive, undefined, (type: Type, meta: Component) => compileComponent(type, meta), diff --git a/packages/core/test/metadata/directives_spec.ts b/packages/core/test/metadata/directives_spec.ts new file mode 100644 index 000000000000..45e2147fd47f --- /dev/null +++ b/packages/core/test/metadata/directives_spec.ts @@ -0,0 +1,16 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +import {ChangeDetectionStrategy, Component} from '@angular/core'; + +describe('Component decorator', () => { + it('should default changeDetection to OnPush', () => { + const comp = new Component({}); + expect(comp.changeDetection).toBe(ChangeDetectionStrategy.OnPush); + }); +});