关于在onClick中使用字符串转义,我有几个问题,随着参数数量的增加,维护起来会变得很麻烦。
下面的方法将有一个单跳-单击-将控件带到处理程序方法和处理程序方法,基于事件对象,可以扣除该事件和相应的对象。
它还提供了一种更清晰的方式来添加更多参数并具有更大的灵活性。
<button type="button"
className="btn btn-default"
onClick="invoke"
name='gotoNode'
data-arg1='1234'>GotoNode</button>
在 JavaScript 层中:
invoke = (event) => {
let nameOfFunction = this[event.target.name];
let arg1 = event.target.getAttribute('data-arg1');
// We can add more arguments as needed...
window[nameOfFunction](arg1)
// Hope the function is in the window.
// Else the respective object need to be used
})
}
这里的优点是,我们可以根据需要拥有任意数量的参数(在上面的示例中,data-arg1,data-arg2等)。