2010-12-20 8 views
3

自分のサイト用のカスタムウィジェットを作成しようとしました。私がページを読み込んだとき、それは言う: mixin#0は呼び出し可能なコンストラクタではありません。 clsInfo.cls.prototypeが定義されていません clsInfoに関する情報が見つかりません。その理由は分かりません。私がgoogleからdojoを使用する問題かもしれません:dojoウィジェットの初期化

と私自身のスクリプトはlocalhostにあります。私のdojoがページを初期化するとき、何かが私のスクリプトで間違ってしまう。私は道場に関する良い情報を見つけることができません。間違った場所で検索していますか? 私の問題を解決するのを手伝ってください

+2

ウィジェット用のdojo.declareステートメントを少なくとも投稿してください。誰かがこのような少数の情報であなたの問題を推測することはほとんどありません。 – kioopi

答えて

0

Dojoがロードされていますか?あなたのコードをdojo.addOnLoad()に入れましたか? CDNを使用する場合、実行時に問題が発生することがあります。 dojo.addOnLoad()は、DOMがロードされたときに起動するだけでなく、dijit._Widgetなど、dojoリソースがダウンロードされたときに呼び出されます。

3

私はdijit.Dialogをオーバーライドしようとしていたときにこの問題に遭遇しました。イベントをコントロール内のコントロールにバインドできるようになりました。バインディング部分が機能するかどうかはまだ分かりませんが、ソースを見ると、2番目の引数として渡された基底の1つが "[オブジェクト関数]"に解決されない場合に発生します。私の場合、私は文字列を渡した

dojo.declareは3つ​​の引数を取ります。

  • あなたは
  • 基底クラスの配列を構築しているカスタムオブジェクト「クラス」の名前、私をDijを上書きしたい場合は親が機能(これらのクラスのない文字列名)
  • 機能のハッシュと宣言ので

を提供するためにit.Dialogは、私がしなければならない。

dojo.declare("myDialogType", [dijit.Dialog], { 
    function1() {/*Code*/}, 
    function2() {/*Code*/} 
} 

は、私は私の2番目の引数として[「dijit.Dialog」]を持っていたし、それが問題でした。

私は強くに行くと、この種の問題をデバッグだかを把握するためにDojoライブラリーではなく、CDNの非圧縮のローカルコピーを使用してWebインスペクタまたはFirebugのを使用することをお勧めし。 Dojoのドキュメンテーションは広範囲ですが、一部の領域では完全ではなく、コードが期待するものを見ていくつかの動作を把握しなければなりません。これは著者にはあまり意図されていません。一度それを得ると、それはかなり素晴らしい製品です、そして、ボランティアの仕事のためのどんなドキュメンテーションも評価されます。

0

私はこの問題に遭遇しましたが、私の要求の順序が乱れて、_WidgetBaseには何がないのですか。_WidgetBaseは本当にあります。スクランブルする簡単な場所のようです。