我在ESRI的Web AppBuilder环境(使用ESRI Javascript 3.x API)中使用dojo。
无论如何,我创建了一个按钮,在按钮的onClick方法中,我希望能够使用lang.hitch调用另一个函数(以保持函数在作用域中),但被调用的函数需要一个参数,我似乎无法传入它,我只能像这样调用函数。
第一个月
当然,my _createNewLocation函数需要一个参数,就像这样。_createNewLocation(param){...do stuff}
我不确定如何将该参数传递给onClick方法。仅仅像这样添加参数是不起作用的。它会抛出TypeError。有什么想法吗?lang.hitch(this, this._createNewLocation(param))
2条答案
按热度按时间new9mtju1#
只需绑定参数
第一个月
这将把参数作为第一个参数传递给函数,
this
也是绑定函数的上下文正如下面的评论中所指出的,hitch是dojos对bind的实现,也应该使用params,但如果是这样的话,您甚至不需要使用hitch,只需调用
onClick: this._createNewLocation.bind(this,param);
oxcyiej72#
如果使用
lang.hitch
,则不需要使用bind
。只需将param作为第三个参数传递即可。前两个参数之后提供的任何参数都将传递给函数。如果您愿意,可以使用vanilla
bind()
方法: