私はコードを(1つのオブジェクト内に)持っており
onclick: this._addX.bind(this)
、次に別のオブジェクト
内に持っています
onclick: this._addY.bind(this)
現在、_addX() と _addY はほぼ同じですが、どちらも (クリック イベントで) 異なる引数値を持つ関数を呼び出すことになります。たとえば、_addX は foo('x') を呼び出し、_addY は foo('y') を呼び出します。だから私は試しました:
onclick: this._add.bind(this,'x')
と
onclick: this._add.bind(this,'y')
2 つのオブジェクトで。そしてもちろん、引数を受け入れるように _add を変更しました。
実行時に _add が呼び出されると、着信引数は表示されません! さまざまな構文をいじりましたが、何も機能しません。何か案は?元の構文は問題なく動作しますが (引数なし)、1 行だけ異なる大きな関数を複製する必要があり、これが苦痛です。前もって感謝します。
_add: function(which) {
var me = this;
var checkFull = function(abk) {
if (abk.isFull) {
alert("full");
} else {
alert(which); // which is always undefined here!
}
};
getAddressBook(checkFull); //checkFull is a fn called by getAddressBook
},