問題タブ [angular-templatecache]
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.
javascript - Jasmine テスト用にインライン テンプレートを $templateCache に挿入します
すべてのテンプレートが myindex.html
にあり、それぞれが独自の<script type="text/ng-template" id="foo">...</script>
ブロック内$templatecache
にある場合、Jasmine がそれらの存在を認識できるようにするにはどうすればよいですか?
現在、Jasmine はすべてのtemplateUrl
値をリモート パスであるかのように扱っています。karma-ng-html2js-preprocessorを調べましたが、これは個別のテンプレート ファイルを$templatecache
スクリプト ブロックではなく に取得するためのもののようです。
インライン テンプレートがどのように読み込まれるかを示すプランカーを次に示します。
javascript - templateCache のテンプレート パスを修正するには? (gulp-angular-templatecache)
gulp-angular-templatecacheを使用して、すべての HTML テンプレート ファイルを 1 つに結合する templateCache.js ファイルを生成しています ( my full gulpfile )
その新しいモジュールをアプリに挿入すると、ディレクティブが自動的にテンプレートを取得するので、部分的な .html ファイルをビルド フォルダーに追加する必要はありません。
問題は、先頭のフォルダー パスが途切れていることです。以下の例を参照してください。
私のディレクティブのパス:
生成された templateCache ファイルのパス:
^panels
そしてheader
迷子になっています。
Gulpfile でそれを修正する関数を作成しようとしています。
私のGulpfileの設定セクション:
私のhtml-templates
gulp.task
^ gulp-angular-templatecacheのroot オプションを使用して、テンプレート パスの前に新しい文字列を追加するという点で、上記は機能しています。
問題は、上記のコードが一度返され、パス配列の最初の項目へのすべてのパスを更新することですbeta/
。
各ファイルのパスを正しく置き換えるには、これをどのように記述しますか?
angularjs - $templateCache とともに ng-include を使用するとファイルが見つからない
ディレクティブに注入されたオブジェクトに応じて、異なるパーシャルを動的にロードしようとしているディレクティブがあります。
grunt-html2js
に追加するすべてのhtmlファイルを変換するために使用しています$templateCache
。html ファイルが に追加されていることを確認しましたが、ページをロードすると、関数で参照されているファイル$templateCache
だけを見つけるのが困難です。.html
template
これは何らかのタイミングの問題ですか?テンプレート機能を使用するより良い方法はありますか?
angularjs - Ionic フレームワークのテンプレート キャッシュ
私はイオンフレームワークを使用して、私のウェブサイトのモバイルバージョンを構築しました(コンパイルされた追加ではなく、ウェブアプリ)。問題は、フレームワークが最初のリクエストですべての html テンプレートをロードする (場合によってはキャッシュする) ことです。無効にしたいです。使った
そして、stateProvider の各状態について:
しかし、それは何も解決しません。ブラウザでキャッシュをリセットすると、最初のリクエストですべてのテンプレートが読み込まれます。それはどのように可能ですか?ありがとうございました
angularjs - angularディレクティブは、レンダリングされたhtmlをテンプレートキャッシュに保存します
バックストーリー
angularディレクティブを使用してかなり頑丈なフォームを構築するユースケースがあります。コンパイルされたディレクティブは複数の場所で使用され、html を複数回レンダリングするのではなく、レンダリングされたテンプレート html を使用して、手動で html をスコープでコンパイルしたいと考えています。
ロード時にディレクティブを手動でコンパイルすることで、これに取り組みます。
次に、このコードは mydirective を適切に構築し、必要に応じてページにレンダリングします。ただし、私が理想的に探しているのは、HTML 文字列または DOM ノードを DOM にアタッチせずに取得できる方法です。次に、HTML 文字列をテンプレート キャッシュに保存するか、DOM ノードを HTML 文字列に変換してテンプレート キャッシュに保存できるようにしたいと考えています。
質問
テンプレートキャッシュに保存できるように、ディレクティブの (手動) コンパイルからレンダリングされた DOM ノードまたは HTML を取得するにはどうすればよいですか? 理想的には、これは、コンパイルされた HTML を DOM にアタッチする必要なく実行されます。
angularjs - $http.get() の後にディレクティブの templateURL を動的に変更する
私はさまざまなコンポーネントに UI をロードする「スケルトン」に取り組んでいます。最初にテンプレートをロードするというディレクティブがあります (このテンプレートは不透明度が低く、モック テーブルのように見えます)。必要なデータを取得したら、ディレクティブhttp.get()
を変更したいと思います。templateUrl
以下は私がこれまでに試したことです。
正しい軌道に乗っているかどうかはわかりません。ステップスルーして、storeFactory
から正しいデータが返されるのを確認できfactory
ます。templateUrl
ディレクティブの を変更するにはどうすればよいですか?
angularjs - templatecache から値を読み取る方法は?
私はうなり声で縮小されたAngularアプリを生成しました。サイトでエラーが発生します:
ただし、縮小された script.js を見ると、次のことがわかります。
このエラーを解決するにはどうすればよいですか? アプリケーションに表示されないのはなぜですか?
javascript - Jasmine テストで templateCache モジュールを利用するにはどうすればよいですか?
karma-ng-html2js-preprocessor または $httpBackend を使用したくありません。動的に作成した templateCache モジュールがあります。
app.js
templates.js
そしてディレクティブ
datetimepicker.js
問題は、ディレクティブをコンパイルするときに、私のテストが templateCache を使用したくないように見えることです。
test.js
私は得る:
テストを実行すると、コンソールの $httpBackend でこれ以上のリクエストは期待されません。
どんな助けでも感謝します。ありがとう