How to access ngFor variable from child component or directive
the answer is ViewContainerRef when you inject it into your constructor it has so much data in it. the ngFor data is in this . vc [ '_view' ][ 'context' ][ '$implicit' ] directive full example @ Directive ({ selector: 'td' }) export class AddInvAmountBtnDirective implements AfterViewInit { el : HTMLElement constructor ( ref : ElementRef , private vc : ViewContainerRef ) { this . el = ref . nativeElement } @ HostListener ( 'click' , [ '$event' ]) tdClick ( ev : Event ){ console . log ( 'vc._view.context.$implicit' , this . vc [ '_view' ][ 'context' ][ '$implicit' ]); ev . stopPropagation () } }