@Input decorator not working when value changes

I have a weird problem. I use @Input to pass data from parents to child component. The data will be updated through subscribe, but upon changing the value it doesn’t get pass to the child component.

Parent component

<app-family-tab [pheno]="pheno" [samples]="ids"></app-family-tab>

public ids: string[] = [];
this.subscriptions.push(this.sampleSearch.results.subscribe(s => {
    this.ids = s.samples;
    this.cd.detectChanges();
}));

Child component

import { Component, ChangeDetectorRef, OnDestroy, Input, Output, EventEmitter, OnInit, AfterViewInit, ChangeDetectionStrategy } from '@angular/core';

@Component({
  selector: 'app-family-tab',
  templateUrl: './family-tab.component.html',
  styleUrls: ['./family-tab.component.css']
})
export class FamilyTabComponent implements AfterViewInit {
  @Input() pheno: any;
  @Input() samples: string[];
  constructor() { }

  ngAfterViewInit(){
    console.log(this.samples);
  }

}

samples doesn’t get updated on child component

Source: New feed
Source Url @Input decorator not working when value changes