Reputation: 4309
I have a directive like this -
@Directive({
selector: 'someDirective'
})
export class SomeDirective{
constructor() {}
render = function() {}
}
and then I am importing the directive
import {SomeDirective} from '../../someDirective';
@Page({
templateUrl: '....tem.html',
directives: [SomeDirective]
})
export class SomeComponent {
constructor(){}
ngAfterViewInit(){//want to call the render function in the directive
}
In ngAfterViewInit, I want to call the render function in the directive. How to do this ?
Upvotes: 10
Views: 20262
Reputation: 55443
@Directive({
selector: 'someDirective'
})
export class SomeDirective{
constructor() {}
render() {
console.log('hi from directive');
}
}
import {Component,ViewChild} from 'angular2/core';
import {SomeDirective} from '../../someDirective';
@Component({
templateUrl: '....tem.html',
directives: [SomeDirective]
})
export class SomeComponent {
@ViewChild(SomeDirective) vc:SomeDirective;
constructor(){}
ngAfterViewInit(){
this.vc.render();
}
}
Upvotes: 13