2

こんにちは、私は成功したすべての行にボタンを配置しようとしているag-grid angular2を使用しています。そのボタンをクリックすると、イベントリスナーをボタンに追加して、このボタンがクリックされたときに発生させたいイベント。これは、すべての行にボタンを追加する方法です

    {headerName: "Gold", field: "gold", width: 100,  cellRenderer: this.ageCellRendererFunc },

ここでは、ボタンの addeventlistener ロジックを記述しています

ageCellRendererFunc(params) {
    var eSpan = document.createElement('button');
    console.log(params);
    eSpan.innerHTML = 'Del';
    eSpan.addEventListener('click', function () {
        this.raiseevent();
    });
    return eSpan;
}

これは、ボタンがクリックされたときに発生させたいイベントです

raiseevent(){
alert('code worked');
}

しかし、raiseevent が定義されていないというエラーが表示されます...どうすればこの間違いを修正できますか...どうすれば addeventListener 内のイベントの参照を与えることができますか...誰か助けてください

4

2 に答える 2

2

=>の代わりに使用function

eSpan.addEventListener('click', () => {

それ以外の場合thisは、コールバックが呼び出されたときにクラスを指しません。

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Functions/Arrow_functionsも参照してください。

于 2016-03-29T05:27:18.893 に答える