Change default change detection strategy

The change detection strategy can only be defined per component or directive not globally.

Using a custom decorator is discouraged because it will not be supported by the upcoming offline template compiler.


It is possible to set the change detection strategy to OnPush in the CLI so that newly generated components will have it set like that.

ng generate component test --changeDetection=OnPush

You can also set that value as default in your angular.json, so that you don't need to set the flag every time:

// angular.json
{
  //...
  "schematics": {
    "@schematics/angular": {
      "component": {
        "changeDetection": "OnPush"
      }
    }
  }
}