問題タブ [angularjs-ng-repeat]
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.
angularjs - カスタムディレクティブと組み合わせたng-repeat
ng-repeat ディレクティブを独自のカスタム ディレクティブと組み合わせて使用すると問題が発生します。
HTML:
JS:
jSFiddleを参照してください
ここでの問題は、何も置き換えられないことです。私が達成しようとしているのは、「x-template-field」タグが DOM で完全に置き換えられた 2x 入力フィールドの出力です。私の疑いでは、ng-repeat は同時に DOM を変更しているため、これは機能しません。
このスタック オーバーフローの質問によると、受け入れられた回答は、これが以前のバージョンの AngularJS (?) で実際に機能していたことを示しているようです。
element.html('...') は機能しませんか?
element.html('...') は実際には生成された HTML をターゲット要素に挿入しますが、HTML をテンプレート タグの子要素にするのではなく、DOM で完全に置き換えます。
ng-repeat ディレクティブを持つ別のタグでテンプレート タグをラップしないのはなぜですか?
基本的に、上記と同じ理由で、生成された HTML を繰り返しタグの子要素として使用したくありません。おそらく私のアプリケーションでは適切に機能するでしょうが、マークアップを Angular に合わせて調整したように感じますが、その逆ではありません。
「テンプレート」プロパティを使用しないのはなぜですか?
「template」/「templateUrl」プロパティから取得した HTML を変更する方法が見つかりませんでした。挿入したい HTML は静的ではなく、外部データから動的に生成されます。
マークアップにこだわりすぎていませんか?
おそらく。:-)
どんな助けでも大歓迎です。
angularjs - テーブル内の行で ng-repeat と ng-class を使用する
私は AngularJS を使用していますが、得たい効果は、それが機能すると仮定すると、これが生成するものと似たものになります (機能しません)。
意見
コントローラ
このコードは、各行内のオブジェクトでのみ使用できるためperson
、使用できないため機能しないことに気付きました。ng-class
コードは、私が何をしようとしているのかを理解するためのものです。ng-repeat
行自体のスコープ機能へのアクセスに依存する条件にも基づいているクラスを使用して作成されたテーブル行を作成できるようにしたいと考えています。person
. 列に ng-class を追加するだけでよいことに気づきましたが、それは退屈です。誰にも良いアイデアはありますか?
angularjs - ng-repeatで前のアイテムを取得するにはどうすればよいですか?
現在のアイテムに前のアイテムとは異なるフィールドがある場合にのみHTMLを生成したいテンプレートがあります。ng-repeatで前のアイテムにアクセスするにはどうすればよいですか?
angularjs - AngularJs-ng-repeat内のDOM要素へのアクセス
次のテンプレートがあります:
そして私のコントローラーには:
ありがとう
angularjs - ng-repeat を使用した Angularjs は、同じタイプの複数の要素に対して同じ ID を生成しています
オブジェクトの配列であるプロパティ「プロパティ」を持つオブジェクト「メッセージ」があるhtmlページがあります。問題は、「ng-repeat」を使用して「Message.Properties」アイテムを反復処理して、angularjs で作成した特定のカスタム要素をレンダリングし、それによって ID を生成する場合です。同じ要素に対して同じ ID を取得します。タイプ。ここに私のコードのサンプルがあります:
要素「sdk:selectbox」がコンパイルされ、Message.Properties に同じタイプ (例: 9) の 2 つのプロパティがある場合、生成された id (作成された html 入力の) は両方で同じです(ランダムに生成していますが)、もちろん入力ごとに異なるIDが必要です。ng-repeat が各アイテムのテンプレートのクローンを作成することを読みましたが、そうですか?! それを解決する方法は?助けていただければ幸いです。
angularjs - JSONデータを使用してng-repeatキーが表示されない
私のサービスは JSON データを取得し、データをコントローラーに正常に返しますが、ng-repeat を使用してキー名を反復処理する際に問題があります。
カテゴリ名なのでキー名を一覧でページに表示したい。
現在、ng-repeat は正しい回数繰り返しますが、キー名は表示されません。
コントローラ:
サービス:
JSON データ:
意見:
angularjs - AngularJS: モデル要素がモデル配列からスプライスされたときに ng-repeat リストが更新されない
2 つのコントローラーがあり、それらの間で app.factory 関数を使用してデータを共有しています。
最初のコントローラーは、リンクがクリックされると、モデル配列 (pluginsDisplayed) にウィジェットを追加します。ウィジェットが配列にプッシュされ、この変更がビューに反映されます (配列の内容を表示するために ng-repeat を使用します)。
ウィジェットは、k2plugin、remove、resize の 3 つのディレクティブに基づいて構築されています。remove ディレクティブは k2plugin ディレクティブのテンプレートにスパンを追加します。上記のスパンをクリックすると、共有配列の右側の要素が で削除されArray.splice()
ます。共有配列は正しく更新されますが、変更はビューに反映されません。ただし、別の要素を追加すると、削除後にビューが正しく更新され、以前に削除された要素は表示されません。
私は何を間違えていますか?なぜこれがうまくいかないのか説明していただけますか?AngularJS でやろうとしていることを行うためのより良い方法はありますか?
これは私のindex.htmlです:
これは私のmain.jsです:
javascript - ng-repeat のグループ化と DOM 外部ディレクティブの変更
私が抱えている問題を説明する方法が正確にわかりません。Angular ディレクティブがどのように機能するかについて頭を悩ませていると思います。ベスト プラクティスに関するアドバイスや意見を歓迎します。
コントローラーの $scope にオブジェクトの単純な配列があります。
このデータ モデルから DOM 構造を作成したいとします。
この plunker でこれに近いものを実現できます。
しかし、そこでは、私が望んでいない、わずかに異なる DOM 構造になってしまいます。
だから、私の質問は次のとおりです。
- この問題について正しく考えていますか?データ構造を変更して日付ごとにグループ化し、個々の日付ごとに ng-repeat する必要がありますか?
- 既存のデータ構造でこれを行う方法がある場合、birth-boy / ng-repeat ディレクティブの外側で DOM を変更する必要がありますか?
- ng-repeat ディレクティブをカスタムなものにラップする方法はありますか - コンパイル機能を調べ始めましたが、よくわかりません...
ありがとう!
angularjs - AngularJSでフィルタリングされた結果を強調表示する
電話のチュートリアルのようにangularJSでng-repeatとfilterを使用していますが、ページで検索結果を強調表示したいと思います。基本的なjQueryを使用すると、入力のキーアップ時にページを解析するだけで済みますが、角度を付けて解析しようとしています。何か案は ?
私のコード: