問題タブ [ng-template]

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.

0 投票する
3 に答える
1966 参照

javascript - テンプレート内の関数が何度も呼び出される (Angular JS)

今日、このコードによって引き起こされたパフォーマンスの問題を修正する必要がありました:テンプレート内で呼び出される updateStats に注意してください。

テンプレートの使用:

このコードをデバッグした後、この関数が配列サイズよりもはるかに多く呼び出されていることがわかりました (私の配列には 4 つのオブジェクトがあり、関数は 100 回以上呼び出されました)。マウス ホバーでもこの関数が呼び出されました。テンプレート内に ng-init を配置するだけでこれを修正したところ、適切に機能するようになりましたが、この関数が何度も呼び出された理由がわかりませんでした。双方向のデータバインディングについて何かありますか?

0 投票する
0 に答える
876 参照

angularjs - ng-include が ng-template を見つけられない

こんにちは、角度が初めてです。私の投稿は次と同じです: Inline `ng-template` not found by `ng-include` .

私の ng-template が見つからない ng-include があります

テンプレートを別の html ファイルに入れると正常に動作しますが、これは明らかに理想的ではありません。

どんなアイデアでも大歓迎です。

私の見解:

私の index.html

0 投票する
0 に答える
432 参照

ng-template - angularjs:コントローラーのng-templateからスコープ変数の値を取得できません

私のプロジェクトでは、angularjs を使用して webapp を開発し、次のようにプロジェクトで ng-template を使用します。

都市コンボボックスにリストされているいくつかの都市があり、最後の都市は「その他」です。ターゲット都市がリスト内にない場合、ユーザーは によって制御される入力テキスト ボックスに都市を自分で入力する必要がありますng-if。そして、それは正常に動作します。

しかし問題は、検索ボックスのユーザー入力データを取得できないことです。ディレクティブを設定しng-model = "searchedCity"ましたが、次の JS コードでは、その値を取得できません。

}))

の出力console.log($scope.searchedCity)は未定義です。それで、問題は何ですか?

編集: 長時間のデバッグと、コントローラー間の通信に関する多くのグーグル検索の後。
<div ng-if="selectedCity=='Others'" ng-include="'searchbox.html'"></div>
上記のタグで根本的な原因を見つけ、ng-ifページng-includeで目的の効果を実現するために使用されます。しかし、それは angularjs にさらに懸念をもたらします。と の両方がより深いレベルまたはサブレベルng-ifを生成するためです。したがって、この場合、ng-template はメイン コントローラーの子の子です。解決策はです。したがって、次のようにしてください。うまく機能させることができますng-includescope$parent
ng-model = "$parent.$parent.searchedCity"

0 投票する
1 に答える
297 参照

javascript - Angularコントローラーで外部HTMLをインポートしてコンパイルする正しい方法は何ですか?

この質問はすでにどこかで答えられていると思いますが、空っぽになります。

私は Angular 1.5.7 を使用しており、プロジェクト内の外部 HTML を (ツールチップで使用するために) コンポーネント コントローラーにインポートしたいと考えていますが、その方法がわかりません。

フォルダー内の私の構造は次のようになります。

  • component.js
  • component_template.html
  • other_html.html

html および ngTemplate ローダー (webpack 構成で構成) で WebPack を使用して、次のことを試しました: コントローラー宣言の上に、追加します

これは、ビューのテンプレートを取得する方法とまったく同じです (そして、これ以上苦労する必要はありません)。

コンポーネント コントローラー内で、$sce.trustAsUrl、$sce.getTrustedHtml、および $sce.getTrustedUrl のさまざまな組み合わせを試して、外部 HTML (変数「other_html」内) のコンテンツを文字列としてアンラップしましたが、率直に言って、これらは物事は私を混乱させるだけで、ドキュメントは役に立ちません。結果の文字列をコントローラーのスコープに対してコンパイルする必要があるようにも見えますが、最初に HTML 文字列が必要です (URL 文字列で終わります)。

プロセスで WebPack と html および ngTemplate ローダーに依存するかどうかに関係なく、これを行うための最良の方法を誰かが私に示すことができますか?

ありがとう

0 投票する
2 に答える
549 参照

javascript - テンプレートが見つかりません - angularjs ngCart を使用して e コマース用のショッピング カートを作成する

私はAngular Webアプリを構築しており、ngCartを取り入れようとしています. を使用してインストールしbower install ngcart --save、bower ファイルを index.html ファイルに組み込み、依存関係としてアプリに注入しました。<ngcart-addtocart>ディレクティブを使用しようとすると(ngcart-addtocartビュー ファイルにタグを組み込むだけ)、次のエラーが発生します -Error: [$compile:tpload] Failed to load template: template/ngCart/addtocart.html (HTTP status: 404 Not Found)

私が見逃しているのは単純なものだと思います。ありがとうございました!

0 投票する
1 に答える
255 参照

angularjs - ngDialog で NgMap がレンダリングされない

私はこのngテンプレートを持っています

クリックすると呼び出されます

関数は

実際には角度ディレクティブの中にあります。ng-template 内ではなくディレクティブ内にある場合、ngMap は正しくレンダリングされます。私は何を間違っていますか?

0 投票する
1 に答える
74 参照

angularjs - PhpStorm は Angular テンプレート内のタグを折りたたまない

検索しましたが、答えが見つからなかったので、他の Angular 開発者も同じ痛みを経験していると確信しています。

PhpStorm はテンプレート内の html タグを認識しない<script type="text/ng-template" id="editnode">ため、長いページの作成を困難にする可能性のあるものを折りたたむことはできません。

これを修正する方法を知っている人はいますか?

スクリーンショットは次のとおりです。 PhpStormのスクリーンショット