使用Dojo lang.hitch将参数传递到调用的函数中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Dojo lang.hitch将参数传递到调用的函数中相关的知识,希望对你有一定的参考价值。

我正在ESRI的Web AppBuilder环境(使用ESRI javascript 3.x API)中使用dojo。

无论如何,我创建了一个按钮,并且希望在该按钮的onClick方法中使用lang.hitch调用另一个函数(以使函数保持作用域内)。但是被调用的函数需要一个参数,我似乎无法传递它。我只能这样调用该函数。

this.myDialogBtn1 = new Button({ label: "Create New Location", disabled: false, onClick: lang.hitch(this, this._createNewLocation) }).placeAt(this.createNewLoc)

当然,我的_createNewLocation函数需要采用这样的参数。

_createNewLocation(param){...do stuff}

我不确定如何将该参数传递给onClick方法。仅添加这样的参数是行不通的。它抛出一个TypeError。有什么想法吗?

lang.hitch(this, this._createNewLocation(param))

答案

仅绑定参数

onClick: lang.hitch(this, this._createNewLocation.bind(this,param));

这将把参数作为第一个参数传递给函数,this也是绑定函数的上下文

以上是关于使用Dojo lang.hitch将参数传递到调用的函数中的主要内容,如果未能解决你的问题,请参考以下文章

如何在dojo Modaldialog中单击关闭按钮来捕获事件?

如何使用javascript将数组值传递给dojo饼图

mysql数据导入Dojo datagrid表

如何将多个参数从 ajax 调用传递到 MVC 控制器

将参数从Javascript传递到烧瓶python脚本[重复]

将多个参数从控制器传递到工厂服务进行 REST 调用并返回(可选)数据