JS的Customevent参数被视为不确定的角度



我试图从js内调用角函数,但是传递给角的参数是未定义的。我想念什么?理想情况下,我也想从派遣上演中返回结果。我应该使用更好的解决方案吗?

JS功能

  var event = new CustomEvent('test', {
    id: "a", id2:"ttt"
  });
  window.dispatchEvent(event);

角分量

  @HostListener('window:test', ['$event.id','$event.id2'])
  test(id,id2) {
    console.log('ang called from JS: '+id+' '+id2)
  }

输出到控制台:ANG从JS拨打:未定义的未定义

目标:从JS拨打的ANG:TTT

据我所知,您只能将一个参数传递给CustomEvent,即detail。因此,您的代码不应编译。您需要将其更改为

onClick() {
  const event = new CustomEvent('test', {
    detail: {
      id: 'a', id2: 'ttt'
    }
  });
  window.dispatchEvent(event);
}

此后,您的处理程序将为

@HostListener('window:test', ['$event.detail.id', '$event.detail.id2'])
test(id, id2) {
  console.log('ang called from JS: ' + id + ' ' + id2);
}

相关内容

最新更新