2017-04-16 31 views
0

我想从我的HTML模板传递模型的价值我的自定义指令:如何分量值传递到自定义指令主机听者angular2

@Directive({ 
    selector: '[eventlistener]' 
}) 
export class EventListener { 
    @Input() value:string = 'Not Defined'; 
    @HostListener('click') 
    onClick() { 
     console.log('You clicked me',value); 
    } 
} 

,并在我的HTML模板:

<button eventlistener (click)="captureClickEvent()" value="model.EmailAddress">test</button> 

目前,它正在显示model.EmailAddress,我想获取评估值(我在组件中获得)。有什么办法可以得到它吗?

回答

3

您需要使用[],而不是只值值

<button eventlistener (click)="captureClickEvent()" [value]="model.EmailAddress">test</button> 

和的onClick方法使用THIS.VALUE结合

@HostListener('click') 
onClick() { 
    console.log('You clicked me', this.value); 
} 
+0

不能绑定到“价值”,因为它不是“按钮”我收到此错误 – user1188867

+0

的类型并不重要,只是改变值的类型,并确保类型的已知属性进入比赛。 – pgreen2

0

我只是用{{model.EmailAddress}}和有效。

<button eventlistener (click)="captureClickEvent()" value="{{model.EmailAddress}}">test</button> 
相关问题