简体   繁体   English

Angular2我可以将自定义参数传递给Host Listener事件吗

[英]Angular2 Can I pass custom parameters to Host Listener event

Here is my current Host Listener 这是我当前的主持人监听器

 @HostListener('document:myCustomEvent', ['$event'])
 updateNodes(event) {
    console.log(this.variable);
 }

And I'm calling it here: 我在这里称呼它:

var event = document.createEvent("CustomEvent");
event.initCustomEvent('myCustomEvent', true, true,
  true);

document.dispatchEvent(event); document.dispatchEvent(事件);

My question is, can I pass my custom parameters to updateNodes ? 我的问题是,我可以将自定义参数传递给updateNodes吗? For instance: 例如:

@HostListener('document:myCustomEvent', ['$event'])
updateNodes(event, param1, param2) {
 console.log(this.variable);
 console.log(param1);
 console.log(param2);
 }

Dispatch event this way: 通过这种方式调度事件:

var event = new CustomEvent(
    'myCustomEvent',
    { detail: { 'param1': 1, 'param2': 2 } }
);

document.dispatchEvent(event);

and then 接着

@HostListener('document:myCustomEvent', ['$event', '$event.detail.param1', '$event.detail.param2'])
updateNodes(event, param1, param2) {
    console.log(param1);
    console.log(param2);
}

Plunker Example 柱塞示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM