問題タブ [deferred-loading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - LINQtoSQLの遅延読み込み
DBML
私のdbmlには次のエンティティがあります:(例として作成)
矢印は私のdbmlの関係です。
本はメディアの一種であり、本のインスタンスには、その中のすべてのメディアに共通の値を持つメディアプロパティがあります。AuthorsForMediaは、AuthorId、MediaId、およびAuthorsForMediaIdと交差するテーブルです。
クエリ
リポジトリ内のgetクエリは次のとおりです。
結果のオブジェクトには、bookプロパティが設定され、mediaプロパティにはすべての値が設定されています。
デバッグ中に[ウォッチ]ダイアログでAuthorsForMediaを見ると、次の値が設定されています。
質問1
AuthorsForMedia(およびそれに対応するAuthorプロパティ)の値を遅延読み込みで評価できないのはなぜですか?
私が試したこと
この質問を読んだ後:
LoadWith / AssoicateWithでDataLoadOptionsを試しましたが、機能しませんでした。私は次のようなエラーで終わった
- クラスFooのインスタンスを作成できませんエラー:System.NotSupportedException:サブクエリはタイプBookのメディアではサポートされていません
- ... System.InvalidOperationException:指定された式はpAの形式である必要があります。ここで、pはパラメーターであり、Aはプロパティまたはフィールドメンバーです。
- または、値がなかっただけです
役立つ場合は、これらすべてのコードスニペットを提供できますが、それは概念的な問題であり、構文上の問題ではないと思います。
概要
これらの値をどのように取得する必要がありますか、それは左結合であるか、またはこれまでに見つけられなかったものである必要がありますか?
c# - まだ表示されていないときに DataSource にバインドされたチェックボックスを強制的に更新する
ここに私がやっていることを示すためのテストフレームワークがあります:
- 新しいプロジェクトを作成する
- タブ付きコントロールを追加する
- タブ1にボタンを置く
- タブ2にチェックボックスを入れます
- このコードをそのコードに貼り付けます
(コントロールにはデフォルト名を使用)
問題は、プログラムを実行してタブ 2 を見てからタブ 1 のボタンを押すと、プログラムは期待どおりに動作しますが、タブ 1 のボタンを押してからタブ 2 を見ると、チェックボックスのイベントが発生するまで発生しません。タブ 2 を見てください。
この理由は、タブ 2 のコントロールが「作成済み」状態にないためです。そのため、コントロールが「作成済み」になるまでチェックボックスをオフからオンに変更するバインディングは行われません。
MSDNによると、checkbox1.CreateControl()は何もしません
コントロールの Visible プロパティが false の場合、CreateControl はコントロール ハンドルを作成しません。CreateHandle メソッドを呼び出すか、Handle プロパティにアクセスして、コントロールの可視性に関係なくコントロールのハンドルを作成できますが、この場合、コントロールの子に対してウィンドウ ハンドルは作成されません。
私はHandleの値を取得しようとしました(CheckBoxのパブリックCreateHandle()はありません)が、それでも同じ結果です。
プログラムが最初に読み込まれたときに、データにバインドされたチェックボックスを持つすべてのタブをプログラムがすばやくフラッシュする以外の提案はありますか?
EDIT - Jaxidianの提案に従って、新しいクラスを作成しました
updating = true
前と同じ結果の直後に CreateHandle() を呼び出します。
wpf - CollectionViewSource の遅延/遅延読み込み?
セクションでを作成するCollectionViewSource
と、リソースが初期化されるとき (すなわち、ホルダーが初期化されるとき)、またはデータがバインドされるときにセットがロードされますか?Resources
Source
Resources
遅延ロードを行うための適切な方法はありCollectionViewSource
ますか? 据え置きロード? 明示的ロード?
eclipse - DeferredTreeContentManager による Eclipse Treeviewer のロードの延期
この便利なチュートリアルから学んだ、TreeViewer
を使用してロードを延期するアプローチがあることを理解しています。DeferredTreeContentManager
ただし、このメカニズムでは、モデルにIDeferredWorkbenchAdapter
インターフェイスを実装する必要があり、これにより、従来の不変モデル クラスに問題が発生します。インターフェースDeferredTreeContentManager
を実装するモデルがなくても使用できますか?IDeferredWorkbenchAdapter
jquery - Firefox での RadGrid の遅延読み込みと奇妙なエラー
RadGrid の読み込みに奇妙な問題があります。私が達成しようとしているのは、Web サービスからのユーザー コントロールの読み込みを延期することです。この手法は、次のリンクで説明されています。
http://encosia.com/2008/02/05/boost-aspnet-performance-with-deferred-content-loading
エクスプローラーとクロムでは、グリッドのスタイリングが適用されないことを除いて正常に動作します。Firefox で、クライアント側から Web サービスを呼び出すと、空白の画面が表示され、firebug には次のエラーが表示されます。
RadGridNamespace が定義されていません
何か案は?
jquery - jQuery Deferred.pipe() を理解する
次のシナリオで jQuery Deferred.pipe() メソッドを実装しようとしています。
- $.ajax() 経由で DB にユーザーを追加します
- ユーザーが正しく追加されたかどうかの応答を取得します。
- 正常に追加された場合、$.ajax() 経由でサーバーからすべてのユーザー リストを取得します。
- jQuery テンプレートを介してリストを表示する
これは私が試したものです:
しかし、これはうまくいきません。私は何かが欠けているか間違っていることを知っています。何か助けはありますか?
javascript - Javascriptの非ブロッキングスクリプト、タグの前にすべてのスクリプトを単純に配置しないのはなぜですか?
</body>
javascriptがWebページのレンダリングをブロックするのを避けるために、すべてのJSファイル/コードをロード/実行するすべてのJSファイル/コードを終了タグの直前に配置することはできませんか?
すべてのJSファイルとコードは、すべてのページがレンダリングされた後にのみダウンロードおよび実行されるため、 JSファイルをロードするためのノンブロッキング手法についてこの記事で提案されているようなトリックが必要です。彼は基本的に次のようなコードを使用することを提案しています。
document.getElementsByTagName("head")[0].appendChild(script);
Webページをレンダリングさせながらスクリプトを延期するため、Webページのレンダリング速度が速くなります。
しかし、このタイプの非ブロッキング手法(または他の同様の手法)を使用せ</body>
ずに、すべてのJSファイル(ロード/実行)を終了タグの前に配置するだけで、同じ非ブロッキング結果を達成できませんか?
</body>
著者(同じ記事内)が終了タグの前にコードを配置することを提案しているので(記事の「スクリプトの配置」セクションを参照)、基本的に終了</body>
タグの前にスクリプトをロードしているので、さらに驚いています。それでは、彼のコードの必要性は何ですか?
私は混乱しています、助けてくれてありがとう、ありがとう!
アップデート
参考までに、Google Analyticsは、同様の非ブロッキング手法を使用して追跡コードをロードしています。
javascript - ソーシャル プラグイン (Fb、Twitter、Google) により、サイトに 3 秒の読み込み時間が追加されます。それらを延期しますか?
defer="" html 属性を使用して javascript ファイルを延期できることは知っていますが、それは IE でのみサポートされており (lol)、それは javascript ファイルのみを延期します。プラグイン全体の読み込みを延期する必要があります。
これを行う方法はありますか?Facebook との統合などは気に入っていますが、プラグインはとても遅いです。ロード時間は2倍以上です。
ありがとう!〜ジャクソン
注: .socialplugins クラスは、ヘッダーに配置するためだけのものです。
jquery - オンデマンドで画像を読み込む (または、非表示の画像の読み込みを無効にする)
基本的には、いくつかのページ コンテンツを含むサブ div の div であるスライダーのようなウィジェットがあります (画像と共に)。
最初は、メイン以外のすべてのサブ div が非表示になっています。
私の問題は、非表示かどうかに関係なく、すべての Web ブラウザーがコンテンツ内のすべての画像をロード (要求) しているように見えることです。
特に私の場合、一度に約 350 枚の画像をロードすることになります。特に画像が少なくとも200kbであることを考えると、これは多くのことです。実際、ネットワーク ログには、Web サイトの合計サイズが6mb から 7mbの範囲にあることが示されています。
これらの画像はすべて、特に他のページ要素 (ボタンなど) の前に読み込まれることが予想されるため、ページの読み込みを妨げます。
私の問題の解決策は何ですか? 私がすでに試したこと:
- 各サブ div を ajax としてロードします。これは不可能です。ページのコンテンツは常にそこにある必要があります。
- 画像自体を非表示にします (Web ブラウザーが画像を読み込まないことを期待して)。これは失敗しました。ブラウザはまだ CSS で画像をロードしていまし
display:none;
た。 - 考えられる解決策:意図的にマークアップ (サーバー側) を壊して、ブラウザーが画像を読み込まないようにします。を書いて
<img alt="abc.jpg" src="about:blank"/>
、タブが切り替わったら、jQuery でマークアップを正しく修正します。これはまだ試していませんが、お勧めですか?
gwt - GWT:外部JSリソースの遅延ロード
いくつかの外部JSファイルに依存するウィジェットがあり、これらすべての外部リソースを遅延ロードしたいと思います。ウィジェットに関連するGWTコードを遅延ロードするためにコード分割をすでに使用しましたが、タグを使用してgwt.xmlで定義されたJSファイルscript
はとにかくロードされます。これは望ましくありません。
これらの外部リソースをオンデマンドでロードする標準のGWT方法はありますか?生のJSを使って自分でそれを行うことはできますが、これにも時間をかけたくありません。