AngularJSでは、外部テンプレートをスクリプトタグまたはWebサーバー上のhtmlファイルとして提供できます。しかし、私はそれらのテンプレートを取得するカスタムロジックを実装する必要があり、どのメソッドも適合しません。だから私はAngularJSのセクションを書き直すことができたと思った。テンプレートが実際にサーバからロードされた場所。しかし、これについての情報を見つけるのはかなり難しいことが判明しました。私は$TemplateRequestProvider
がこの作業に使われていることを知りましたが、私はそれをカスタムロジックと置き換える方法を知りませんでした。あなたは私を助けることができます?AngularJSテンプレートをロードする独自の方法を実装する
答えて
実際に$ templateRequestProvider として実現しようとしていることを完全にはわかっていません。は、指定されたURLのテンプレートを取得していますか?ボンネットの下で、リモートソースにあるテンプレートが必要な場合、プロバイダは最初に内部キャッシュを実行し、要求されたテンプレートが利用できない場合は取得します。応答が成功すると、応答本体(HTMLコンテンツ)が内部ストア/キャッシュに格納され、索引付けされます。リソースサーバーがヘッダー/クッキー、必須の要求パラメーター、authなどの追加のデータセットを要求内に存在させることを必要とする場合はほとんどありません。これらのテンプレートを取得するためのあなたの要求は、より洗練されたものでなければなりません。あなたが本当に関心を持っているのは、送信される直前にリクエストを操作できることだと思います。ではなく、は既にangleの開発者が作成した(フェッチ+キャッシング)ロジックを書き直しています。
実際にが必要で、依頼を処理するための独自の仕組みを持っている場合は、アングルアプリのライフサイクルの設定段階でそのプロバイダにアクセスできます。そのためには、アプリケーションのモジュールにこのようチェーン設定を使用します。今すぐ
app.config(['$templateRequestProvider', function ($templateRequestProvider) {
$templateRequestProvider.$get = ['$templateCache', '$http', '$q','$sce', ƒunction ($templateCache, $http, $q, $sce) {
var getRemoteTemplateByUrlFn = function (tplUrl, ignoreRequestError) {
// here be dragons
return $http.get ... ;
};
return getRemoteTemplateByUrlFn;
}];
}]). ...
を、その段階に入る前に、私はあなたがより良いが、露光から離れて$ templateRequestProviderとしてドキュメントに勉強していてお勧めします$設定オブジェクトをプロバイダの関数に取得すると、httpOptions(...)関数も公開されます。この関数は、リモートテンプレートを取得するリクエストにインクルードするヘッダなどを含むhttpOptionsオブジェクトを渡して呼び出すことができます。
また、テンプレートキャッシングとオンデマンドフェッチについては、ocLazyLoadライブラリを紹介します(あなたがまだ出くわしていない場合)。私は、必要に応じてページソースを遅くロードするために()のみを使用しています(たとえば、ボタンをクリックしたときのモーダルウィンドウテンプレートとコントローラ)。その優れた機能の中で:
-
依存関係を自動的に
- デバッガ優しい(無evalのコード)をロードされている
- サービスやディレクティブを経由してオンデマンドで
- 負荷を通常の起動や負荷を混在させる能力
- 組み込みの非同期ローダーを使用するか、独自の(requireJS、...)を使用します。
- js(角度の有無)/ css/templatesファイルをロードします。
楽しくお楽しみください!
- 1. PreferenceActivityのために独自のデータストレージバックエンドを実装する方法
- 2. テンソルフローのnext_batchを独自のデータに実装する方法
- 3. UserControlの独自のDataTypeプロパティを実装する方法
- 4. ハッシュマップの独自のプロローグ構造を実装する方法
- 5. Scrapy用に独自のストレージバックエンドを実装する方法は?
- 6. Laravelで独自のFakerプロバイダを実装する方法
- 7. Javaで独自のUI要素を実装する方法は?
- 8. 独自のシェルを実装する
- 9. 独自のシステムコールを実装する
- 10. オーバーライド私の独自の実装をライブラリからメソッドをテンプレート
- 11. 独自の* ngIfの実装
- 12. ASP.NET:IsInRoleの独自の実装
- 13. 独自のLinkedListの実装
- 14. angularjsでナビゲーションバーを実装する方法
- 15. angularjs asyncを実装する方法は?
- 16. Magentoでテンプレートを実装する方法
- 17. Malloc /フリー独自の実装
- 18. 独自のコンポーネントを実装するサブモジュールを使用する
- 19. 正しく独自のjavascriptライブラリを実装する方法、角4
- 20. フレームワークに注入された独自のICultureSelector実装を取得する方法
- 21. 手動でMFC独自の言語DLLをロードする方法
- 22. angularjsのテンプレートからスクリプトをロードする方法
- 23. 独自のロギングレベルの独自のログメソッドを作成する方法
- 24. 独自のトランザクションプロバイダを実装するための最良のオプション
- 25. 独自の配列メソッドのヘルプを実装するJava
- 26. Javaで独自のpow関数を実装する
- 27. 独自の実装から関数を参照するには?
- 28. opensslで独自のrand_poll実装を追加するには?
- 29. JSFで独自のActionListenerを実装する
- 30. COMが独自のOfficeライブラリを実装する利点