title: Change Detection not firing Angular 9
body: <p>I have just updated my application to angular 9</p>
  
  <pre><code>Angular CLI: 9.1.3
  Node: 10.16.0
  OS: win32 x64
  
  Angular: 9.1.3
  ... animations, cli, common, compiler, compiler-cli, core, forms
  ... platform-browser, platform-browser-dynamic, platform-server
  ... router, service-worker
  Ivy Workspace: &lt;error&gt;
  
  Package                           Version
  -----------------------------------------------------------
  @angular-devkit/architect         0.901.3
  @angular-devkit/build-angular     0.901.3
  @angular-devkit/build-optimizer   0.901.3
  @angular-devkit/build-webpack     0.901.3
  @angular-devkit/core              9.1.3
  @angular-devkit/schematics        9.1.3
  @ngtools/webpack                  9.1.3
  @schematics/angular               9.1.3
  @schematics/update                0.901.3
  rxjs                              6.5.3
  typescript                        3.7.3
  webpack                           4.42.0
  </code></pre>
  
  <p>now basically my app was working fine before the update, and now after the update the regular change detection strategy doesnt seem to be firing.</p>
  
  <p>For example I have a component like so</p>
  
  <p><strong>component.ts</strong></p>
  
  <pre><code>// ...
  
  @Component({
      selector: 'app-library',
      templateUrl: './library.component.html',
      styleUrls: ['./library.component.scss'],
  })
  
  // ...
  
  
  constructor(
    private bookService: BookService
  ) {}
  
  books: Book[];
  
  ngOnInit() {
    this.getBooks();
  }
  
  getBooks() {
    this.bookService.getBooks().subscribe(result =&gt; {
      this.books = result;
    })
  }
  </code></pre>
  
  <p><strong>component.html</strong></p>
  
  <pre><code>&lt;ul&gt;
     &lt;li *ngFor="let book of books"&gt;{{book.title}}&lt;/li&gt;
  &lt;/ul&gt;
  </code></pre>
  
  <p>now when I <code>console.log</code> the result from <code>getBooks</code> I can see that 100 books get returned, but its not updating the view the screen remains empty..</p>
  
  <p>Now I know I can do this</p>
  
  <pre><code>constructor(
     private _cdr: ChangeDetectorRef
  ) {}
  
  // ...
  
  getBooks() {
    // ...
    this._cdr.detectChanges();
  }
  </code></pre>
  
  <p>but this seems inefficient, and now I will have to go through my entire application and put it anywhere a value is updated...</p>
  
  <p>I can't find any references online about change detection differences between 
  8 -> 9... does anyone know what is going on here??</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Just to clarify calling <code>this._cdr.detectChanges()</code> fixes the problem and the DOM updates</p>
  
  <p><strong>EDIT 2</strong></p>
  
  <p>It only seems to be an issue on the initial page load, after that if you change the state the page updates.. weird</p>