Dynatree(http://wwwendt.de/tech/dynatree/index.html)を使用してツリーナビゲーションメニューを作成しました。ツリーには、会社、グループ、ユーザー、コンピューターの4つのレベルがあります。ツリー内のすべてのオブジェクトは選択可能であり(オブジェクトを選択すると、そのオブジェクトのプロパティを示すページが開きます)、レベル4のオブジェクト(「コンピューター」)を除いて、各オブジェクトに子を含めることができます。
今、私はドキュメントの指示に従ってツリーを遅延ロードしようとしました:http ://wwwendt.de/tech/dynatree/doc/dynatree-doc.html#lazyLoading バックグラウンドからロードされた第1レベルのコンテンツはisLazyオプションをtrueに設定し、onLazyReadコールバックをツリーに追加しました。
ツリーから必要なもの:最初のレベルは常に読み込まれますが、[+]文字で最初のレベルのオブジェクトを展開すると、最初のレベルのオブジェクトが展開され、基になるオブジェクト(グループ、ユーザー、コンピューター)がバックグラウンドで読み込まれます。ツリーのロードは、最初のレベルの要素を見ることができるという意味で機能しますが、問題は
- ノードに子がない場合、[+]記号は表示されません
- ノードに子がある場合、onLazyReadイベントは実行されません
これはキャッチ22のように見えます。これは、ノードに子がなくてもノードを拡張可能にするオプションがないため、ツリーを遅延ロードすることが不可能になるためです。私は何が欠けていますか?