title: Angular: subscribing to a service via controller - subscription ignored
body: <p>I have checked several of the questions, but they seem a bit different than mine. I am currently creating a list of users, and rendering a link for each user. Upon clicking that user, a REST call will be made, returning an array of catalogs that the user will be able to see.</p>
  
  <p>The <em>DatasourceService</em> looks like:</p>
  
  <pre><code>  getCatalogs(): Observable&lt;Catalog[]&gt; {
      const api_path = this.dataUrl + `metadata/getcatalogs/name/?user=${this.user.username}&amp;password=${this.user.password}`;
      return this.http.get&lt;Catalog[]&gt;(api_path);
    }
  </code></pre>
  
  <p>which does in fact return the correct data.</p>
  
  <p>Clicking a user runs this method:</p>
  
  <pre><code>  onSelect(user: User): void {
      this.selectedUser = user;
      this.datasourceService.user = user; // sets the user, as i can't figure out how to send it as a parameter, and subscribe to that call
      this.datasourceService.getCatalogs() // had to run this here so that the Observable would have at least one subscription to make it run.
        .subscribe(catalogs =&gt; {this.catalogs = catalogs; });
    }
  </code></pre>
  
  <p>I also have a <em>CatalogComponent</em> which looks like this:</p>
  
  <pre><code>@Input() user: User;
    public catalogs$: Observable&lt;Catalog[]&gt;;
    constructor(private datasourceService: DatasourceService) { }
  
    ngOnInit() {
      this.catalogs$ = this.datasourceService.getCatalogs();
      this.datasourceService.getCatalogs()
        .subscribe(catalogs =&gt; {this.catalogs = catalogs; });
    }
  </code></pre>
  
  <p>Which renders as follows:</p>
  
  <pre><code>&lt;div *ngIf="user"&gt;
  
    &lt;h3&gt;Catalogs for User: {{user.username}}&lt;/h3&gt;
  
  
      &lt;ul &gt;
        &lt;li  *ngFor="let catalog of catalogs$ | async"&gt;
          {{ catalog.name }}
        &lt;/li&gt;
      &lt;/ul&gt;
  
  &lt;/div&gt;
  </code></pre>
  
  <p>This is just the latest test, as I have tried several approaches to get this to work.</p>
  
  <p>The problem I am having is that the catalogs fail to list, and it appears that the call isn't having any effect on the catalog controller;</p>
  
  <p>Thinking that there might be two DatasourceServices running, I check that, and it's only declared in <em>app.module</em></p>
  
  <pre><code>  providers: [DatasourceService],
  </code></pre>
  
  <p>Any help in getting this to work would be appreciated.</p>