angular里面如何使用原生js的事件,例如onclick事件

我需要在angular里面使用onclick触发事件回调

angular里面的写法为: 事件名(){}  

onclick写法为:function 事件名 () {}

那我如何在angular里面使用onclick触发事件呢

 

其实我想要实现的是这种效果,因为没有找到使用angular来实现的合适方法,所有改用js的写法了。有更好的angular实现方法嘛????

有点没太懂你的意思.

你想要触发angular的click事件?你的click事件方法在你的代码里面,你直接调用就好了?

 

===

其实本来click就可以满足你的onclick需求,你可以说出你的需求,我告诉你怎么搞.至于怎么使用onclick这种模式,可以这样做

 

<a #linkA>test</a>
export class WelcomeComponent implements  AfterViewInit {

  @ViewChild('linkA')
  linkA: ElementRef<any> | any = null;

  ngAfterViewInit(): void {
    this.linkA.nativeElement.addEventListener('click',() => {
      console.log('test');
    });
  }
}

====虽然其实我应该建议你改为使用angular的方式来实现你的轮播图,但是如果你不这么做,可以这样

<div class="test">
<li name="123" age="223">a</li>
<li name="123" age="456">b</li>
<li name="123" age="789">c</li>
<li name="123" age="1232">d</li>
</div>
<!--假设这就是你js生成的各种节点-->
export class WelcomeComponent implements AfterViewInit {
  document: Document;
  constructor(private renderer2: Renderer2, @Inject(DOCUMENT) document: Document) {
    this.document = document; //这个document就是原生的document,你可以做任何事情了
  }
  ngAfterViewInit(): void {
    const list = this.document.querySelectorAll('.test li');
    list.forEach(node => {
      this.renderer2.listen(node, 'click', event => {
        const name = node.getAttribute('name');
        const age = node.getAttribute('age');
        console.log(node, event, name, age);
      });
    });
  }
}