使用Angular Renderer2在svg rect上添加onclick事件
问题描述:
有什么方法可以在svg rect上添加onclick事件。使用Angular Renderer2在svg rect上添加onclick事件
我已经采用了棱角分明Renderer2试过,
constructor(public renderer: Renderer2){
const rect = document.createElementNS('http://www.w3.org/2000/svg' , 'rect');
this.renderer.setAttribute(rect, 'onclick', 'callRect()');
}
callRect(){
console.log("Rect clicked");
}
但我得到了一个错误
(index):1 Uncaught ReferenceError: callRect is not defined
at SVGRectElement.onclick ((index):1)
答
Inspite使用setAttribute
的,使用listen
法在Renderer
,通过它可以直接调用内部eventHandler
组件的方法
this.renderer.listen(rect, 'click', (evt) => {
this.callRect();
console.log('Clicking the rect', evt);
});
酷!谢谢你的例子。 –