問題タブ [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.
service - AngularJSng-サービスからのデータで繰り返します
もともと私のアプリでは、URL($ routeParams)からオブジェクトのIDを取得することでリソースを取得するために、非常に基本的な$http呼び出しを使用してコントローラーを作成しました。Ng-repeatは結果を正しく表示します。
しかし、後のビュー(別のコントローラー)で更新すると、データが消去されてページが壊れることに気づきました。そこで、複数のコントローラーで使用する関数をサービス上に作成し、データが利用可能かどうかを確認し、次のように反応します。
1)リソースが定義されている場合は、それを返します(API呼び出しなし)2)リソースが定義されていない場合は、URLからIDを取得し、APIから取得します3)リソースが定義されておらず、取得できない場合ID、falseを返すだけです。
ただし、これによりコードが破損しました。サービスがデータを返す前にレンダリングされたテンプレートであり、ng-repeatは更新されませんでした。コードは次のようになります。
そして、これがテンプレートです。これは翡翠の中にあります。つまり、山かっこではなく、要素の直後に括弧で囲まれたパラメーターと、括弧の後にあるコンテンツをリストします。
コントローラが$http.get自体を実行したとき、$ scopeが「.success」コールバックで更新されたため、ng-repeatは正常に機能しました。わずかな遅延の後にデータを返すサービスがあるので、「$ scope.data」は未定義であり、ng-repeatリストは空です。
「returnmyData」を返す直前にconsole.logを使用してmyDataをチェックしましたが、myDataは機能していますが、時間内に返されません。何らかの理由で、$scopeがデータを取得するたびにリストが更新されません。
$ routeProviderのresolveを使用しているように見えましたが、resolveオブジェクトが$ routeParamsにアクセスできないようであるため、URLからIDを取得するのは困難です。$scope。$applyは、外部関数によって変更されたときにスコープを更新するのに役立つはずです...しかし、どこに配置するかわかりません。SOで最も類似した問題は、サービスを使用しませんでした。
私は試した:
と
どちらの場合も、エラーが発生しただけです。$digestはすでに進行中です。
drop-down-menu - AngularJS + Bootstrap ドロップダウン: ng-repeat で ng-click を実行できない
Bootstrap Dropdown と AngularJS でピッカーを作成しようとしています。
リストで静的に ng-click を使用すると、正常に動作します (例 4 および 5) しかし、ng-repeat で ng-click を使用すると、値が更新されません (例 1 ~ 3)
私に何ができる ?
internet-explorer-9 - IE9のng-repeatでのAngularJSの問題
FirefoxとChromeは魅力のように機能し、IE9だけが再び迷惑になります。私はこれらのコードスニペットを使用します:
{{30+($ index * 485)}}を使用して、divの正しい位置を計算します。それらはすべて並んでいます。問題は、IEがそれを無視することです。IEはスタイル属性さえ追加しません。(画面を参照)
ここでの問題は何ですか、どうすればこれらを解決できますか?
angularjs - AngularJS - ng-repeat を使用してカスタム フィルターを構成し、条件付きでアイテムを返す方法
リスト項目を出力する ng-repeat があります。条件が真の場合にのみリスト項目が印刷されるように、カスタム フィルターを作成したいと考えています。
変数がフィルターに渡されていないように見えるため、構造が間違っているようです。
index.php
app.js
jquery - jQueryを含めるとng-repeatが機能しない
AngularJS で zurb-foundation を使用しています。
次のコードがあります。
基盤に必要なため、jQuery プラグインを含めました。jQuery が含まれていない場合、コードは正常に動作しますが、jQuery を含めるとドロップボックスに何も表示されず、そこにあるはずのすべてのテキストがページの下部に表示されます。
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 - 同じ要素での ng-switch と ng-repeat の干渉
予期しない Angular の動作に遭遇しました。この投稿の目的は、これがバグなのか意図されたものなのか、そして意図された理由を説明することです。
まず、この Plunkr を参照してください: http://plnkr.co/edit/CB7k9r?p=preview。この例では、3 つのオブジェクト エントリを持つ array という配列を作成しました。さらに、入力フィールド (トグルと呼ばれる) の内容に基づいて ng-switch を作成しました。toggle の値が 1 の場合、配列内のオブジェクトのすべての名前を "1" で始まるか、それ以外の場合は "other" で始まるように出力する必要があります。
これは意図したとおりに機能せず、エラーが表示されます。
ただし、同じ例を書き直して ( http://plnkr.co/edit/68Mfux?p=preview )、リストの周りに追加の div を追加し、ng-switch をこの div に移動し、ng-switch-when を li から に移動しました。 ul (ng-repeat と ng-switch-when を分離する) は意図したとおりに機能します。
誰かがこれがなぜなのか説明できますか?
javascript - ng-repeat のグループ化と DOM 外部ディレクティブの変更
私が抱えている問題を説明する方法が正確にわかりません。Angular ディレクティブがどのように機能するかについて頭を悩ませていると思います。ベスト プラクティスに関するアドバイスや意見を歓迎します。
コントローラーの $scope にオブジェクトの単純な配列があります。
このデータ モデルから DOM 構造を作成したいとします。
この plunker でこれに近いものを実現できます。
しかし、そこでは、私が望んでいない、わずかに異なる DOM 構造になってしまいます。
だから、私の質問は次のとおりです。
- この問題について正しく考えていますか?データ構造を変更して日付ごとにグループ化し、個々の日付ごとに ng-repeat する必要がありますか?
- 既存のデータ構造でこれを行う方法がある場合、birth-boy / ng-repeat ディレクティブの外側で DOM を変更する必要がありますか?
- ng-repeat ディレクティブをカスタムなものにラップする方法はありますか - コンパイル機能を調べ始めましたが、よくわかりません...
ありがとう!
angularjs - レイアウトの問題の ng-switch 要素
ng-switch を使用して、レイアウトにフィルタリング入力フィールドを作成しています。ルート名をオンにして、このフィールドを使用して各ページの ng-repeat のデータをフィルタリングします。
このアプローチの問題は、あるページで入力した値が、他のルートに移動したときに保存されたままになり、他のページでもデータをフィルター処理することです。組み込みの角度検索フィルターを使用しているため、モデル名が付けられています。
ルート変更時にフィルターの値をどうにかしてリセットできますか?
もう 1 つの問題は、この $parent.$parent スコープへのアクセスが実用的ではないことですが、より洗練された方法を見つけることができませんでした。
どんなヒントでも大歓迎です!
javascript - angularjs、ng-repeat、DOM 要素のサイズ
次のようなコードの一部があります。
「wrapperDirective」から繰り返される「列」要素の幅を取得するにはどうすればよいですか? 私が理解しているように、onDomRepeatCompleteイベントのようなものが必要ですが、現時点ではまだ正しい解決策と構文を見つけることができず、setTimeout一時停止だけを使用しています...