4

dojoウィジェットのカスタマイズされたサブクラス(祖父母から派生した、 )を作成しようとしています。dojox.mobile.ListItemdijit._WidgetBase

親からオーバーライドおよび変更するメソッドの1つに、への呼び出しが含まれていますthis.inherited(arguments)。これは、サブクラスに直接コピーできないことを意味します(this.inherited元のコンテキストで行ったように、メソッドからの呼び出しは祖父母のメソッドではなく、親クラスのメソッドを呼び出すため)。親クラスのメソッドを意図的に調整しているので、親クラスのメソッドを呼び出したくありません(作成するものとは異なるDOM要素を作成したいListItem)。しかし、私は標準の祖父母クラスの機能を保持したいと思ってListItemいます。

そこで、現在のオブジェクトで祖父母クラスのメソッドを直接呼び出したいと思います。これを行う方法はありますか?そうでない場合、どうすればこの問題を回避できますか?

4

1 に答える 1

3

を使用dijit._WidgetBase.prototype.methodName()すると、子ウィジェットのスコープが失われ、結果が生じる場合と生じない場合があります。あなたは使用する必要があります

dijit._WidgetBase.prototype.methodName.apply(this, arguments)

これが私が何を意味するかを示すためのフィドルです

http://jsfiddle.net/cswing/4nGCH/

于 2012-05-29T14:00:07.790 に答える