Я пытаюсь передать значение в пользовательский атрибут директивы, но когда я пытаюсь зарегистрировать его, он говорит, что он не определен.
Это мой component.html:
<div appRadialMenu [step]="4"></div>
Это моя директива.ts:
import { Directive, ElementRef, Input, OnInit } from '@angular/core';
// jQuery
import * as $ from 'jquery';
@Directive({
selector: '[appRadialMenu]'
})
export class RadialMenuDirective implements OnInit {
@Input() step;
constructor(private elRef: ElementRef) {
$(elRef.nativeElement).click(function () {
console.log(this.step);
}
}
ngOnInit() {
console.log(this.step);
}
}
Редактировать : Я также пытался использовать
@Input('step') step;
Редактировать 2 : Спасибо, ребята, это сработало, и я внес следующие изменения:
Я изменил привязку события щелчка и переместил его в ngOnInit, также я изменил селектор
selector: 'appRadialMenu'
// ......
@Input('step') step;
constructor(private elRef: ElementRef) {}
ngOnInit() {
$(this.elRef.nativeElement).click(() => {
console.log(this.step);
});
}
component.html:
<appRadialMenu [step]="4"></appRadialMenu>