Async pipe is not working with same observable

I am using async pipe in view, to load data dynamically in the view. However, It is not loading any data.

I need to change values of observables, few times in a page, like reload page, load more values, and change news content based on the categories of the news.

I used ChangeDetectorRef, detectChanges(), but without any luck.

ngOnInit() {
   if (this.isFirstRun) {
     this.items$ = this.apiService.getNewsByCategory(
                  this.categoryId = (this.categoryId === 0 ? 1 : this.categoryId));;


ngOnChanges(changes: SimpleChanges) {
if (this.isFirstRun) {
  const chg = changes.categoryId;
  this.items$ = this.apiService.getNewsByCategory(chg.currentValue);;


// In the views i used these things

<div *ngIf="(items$| async) as news ; else loading">
// View stuff here


items$ must reload while any change is detected, i.e. CategoryId is chages. It is not working in this case.

However, ngOnInit is working fine.

Any help is much appreciated, No ideas is generating in my head.

Source: New feed
Source Url Async pipe is not working with same observable