这是我目前的主持人监听器
@HostListener('document:myCustomEvent', ['$event'])
updateNodes(event) {
console.log(this.variable);
}
我在这里称呼它:
var event = document.createEvent("CustomEvent");
event.initCustomEvent('myCustomEvent', true, true,
true);
document.dispatchEvent(事件);
我的问题是,我可以将自定义参数传递给updateNodes吗?例如:
@HostListener('document:myCustomEvent', ['$event'])
updateNodes(event, param1, param2) {
console.log(this.variable);
console.log(param1);
console.log(param2);
}
答案 0 :(得分:4)
以这种方式发送事件:
var event = new CustomEvent(
'myCustomEvent',
{ detail: { 'param1': 1, 'param2': 2 } }
);
document.dispatchEvent(event);
然后
@HostListener('document:myCustomEvent', ['$event', '$event.detail.param1', '$event.detail.param2'])
updateNodes(event, param1, param2) {
console.log(param1);
console.log(param2);
}
<强> Plunker Example 强>