你的位置:首页 > 软件开发 > Java > DOJO官方API翻译或解读

DOJO官方API翻译或解读

发布时间:2016-08-31 12:00:02
hitch()hitch() 是一个函数,会在给定的上下中执行给定一个执行函数。hitch允许你去控制一个函数如何执行,往往在异步操作中起作用。我们常常会写出这样的代码:(博主:这个代码意图在"click"事件触发时,执行此时定义的"processE ...

hitch()

hitch() 是一个函数,会在给定的上下中执行给定一个执行函数。hitch允许你去控制一个函数如何执行,往往在异步操作中起作用。

我们常常会写出这样的代码:(博主:这个代码意图在"click"事件触发时,执行此时定义的"processEvent"。)

1 require(["dojo/on"], function(on){2   var processEvent = function(e){3     this.something = "else";4   };5   on(something, "click", processEvent);6 });

它错误的原因是关于一个无法解析的变量。原因是,像上文这种异步回调函数的应用场景,当代码正在执行时,上下文会发生变化。执行上下文环境已经不再是最初提供的对象,而指向了外部对象(on的回调函数),为了解决这个问题,你可以使用hitch()去强制processEvent在此时“this”指向的上下文来执行。如下:

1 require(["dojo/on", "dojo/_base/lang"], function(on, lang){2 3  var processEvent = function(e){4   this.something = "else";5  };6 7  on(something, "click", lang.hitch(this, processEvent));8 9 });

原标题:DOJO官方API翻译或解读

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录