title: Observer subscribe not firing on first load to Component
body: <p>I have a store which exposes an asObservable. A view subscribes to this and displays the data. It was working on first load since I've changed it to a Singleton service, when I first go to the page no data is displayed and no subscribe event triggered. After I perform some operation on the data which causes the subject.next to be called it updates and the view updates and everything is great.</p>
  
  <p>I've ensured this is not a race condition problem and that the data is in the store at the time the page's constructor is called.</p>
  
  <p>Sequence of events is as follows (confirmed during debugging):</p>
  
  <ol>
  <li>Data is loaded from server </li>
  <li>subject.next() is called with correct data</li>
  <li>component constructor is called which subscribes to observer</li>
  </ol>
  
  <p>No subscribe event fires and no data populates, even though it exists in the store. If I then perform some kind of crud operation on the list everything cascades through as expected, next() is called, and a subscribe event occurs.</p>
  
  <p>How can I get the page to read data on page load?</p>
  
  <blockquote>
    <p>data.store</p>
  </blockquote>
  
  <pre><code>protected _subject$: Subject&lt;Array&lt;any&gt;&gt;;
  this._subject$.next(newData);  // confirmed via console this happens with good data
  
  get contacts$(): Observable&lt;any&gt; {
    return this._subject$.asObservable();
  }
  </code></pre>
  
  <blockquote>
    <p>component - I've tried both putting the below block in the constructor and in ngAfterViewInit, same result</p>
  </blockquote>
  
  <pre><code>// this happens after the above data is already set
  this.contacts$.subscribe(data =&gt; {
      // this block does not execute on page load
    });
  </code></pre>