在自定义 dijit 中,我有一个按钮data-dojo-attach-event
连接到一个名为_goNext
. 我需要对 Dijit 控制器 javascript 文件中声明的节点进行动画处理,但它的范围似乎animateProperty
有点捏造。
require([/* deps */], function(/*deps*/){
return declare(null, {
postCreate : function(){
this._animNode = query('.someNode')[0];
},
// non-essentials omitted
_goNext : function(){
fx.animateProperty({
node : this._animNode
properties : {
left : {
start : this._start,
end : this._end,
unit : 'px'
}
},
onEnd : function(){
this.updateCurrentScreen();
}
}).play();
}
}
})
...本质上就是我正在使用的东西。这样一来,它什么也不做,因为它的范围与声明我的节点和值的地方不同。如果我手动输入值(硬编码)并为要抓取的节点参数应用一个 id,它可以正常工作,但这很愚蠢,而不是我想要的。
我尝试将它包装在this
作为参数传递的匿名包装器中,但我得到了 TypeErrorsstyle
和其他一些东西。
我是否必须使用挂钩或其他范围修改方法的变体?或者有没有更简单的方法来正确准备好这个东西this
。