0

カスタム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が、TypeErrorsが発生しstyleます。

ヒッチまたはスコープ変更方法の他の変形を使用するところまで行く必要がありますか?thisまたは、これを正しく準備するためのより簡単な方法はありますか。

4

1 に答える 1

1

onEndハンドラーを現在の値に接続する必要がありthisます。そうしないと、呼び出しようとしたときにコンテキストの問題が発生します。updateCurrentScreen

于 2012-12-19T00:09:54.000 に答える