1

私は、宣言型アプローチ(HTML)を使用して、dojodatagridとJsonRestStoreを使用する古いコードベースに取り組んでいます。私は現在、これを新しいdojo.store.JsonRestを使用するように適応させようとしています。

JsonRestとObjectStoreをHTMLで宣言すると、機能します。

json.store.Cacheをストアとして使用し、dojo.store.JsonRestとdojo.store.Memoryを使用します。json.store.Cacheのコンストラクターは2つの引数を取ります。

a)コンストラクター引数をHTML宣言型で定義する可能性はありますか?

Datagridの(宣言型)コードに触れたくなかったので、dojo.addOnLoadでグリッドのストアを設定してみました。dojo.jsの402行目のFirebugで奇妙なエラーが発生します。これは、実際にはコメントです。

// 5.評価済み:モジュールはdefineを介して定義され、ローダーはファクトリを評価して結果を計算しました。

私の推測では、エラーはdojo.jsとはまったく関係がなく、例外は実際にはどこかのクロージャで発生しました(これは以前に見たことがあると思います)。

b)このように宣言型とプログラム型のスタイルを組み合わせることができますか?はいの場合、グリッドのストアをどのイベントに設定する必要がありますか?

4

1 に答える 1

2

後で理解したので、私はこれに自分で答えています。宣言型とプログラム型のスタイルを組み合わせても問題はないようです。

dojo.addOnLoadからdojo.readyに変更しましたが、とにかくそれが問題だったとは思いません。

datagrid.setQueryの呼び出しでdatagridのクエリを設定してから、datagrid.setStoreでストアを設定しようとしました。どの順序で試しても機能しませんでした(最初にクエリを実行するか、最初に保存します)。setStoreの呼び出しでは、両方を一緒に設定する必要があることがわかりました。このメソッドは、2番目のパラメーターとしてクエリを受け入れます。これで私の問題は解決しました。

于 2012-01-25T14:47:52.250 に答える