問題タブ [ngfor]
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.
angular - ※NgForはデータを表示しません
初めて Angular2 アプリケーションを作成しています。
BankAccountService
バックエンド サーバーからデータをフェッチする と、このbank-account.component
サービスを使用して単に accountNumbers の並べ替えられていないリストを表示する があります。
chrome devtool を使用してデバッグすると、データが正しくフェッチされ、bankAccounts
データ メンバーに格納されていることがわかりましたが、何らかの理由でul
何も表示されません。
BankAccountService:
bank-account.component:
誰かが光を当てることができれば本当にありがたいです、私は私の間違いを理解できないようです.
前もって感謝します
javascript - ngFor の外で *ngFor 現在のオブジェクトを使用するにはどうすればよいですか?
タイトルは奇妙に思えるかもしれませんが、私が話しているのは基本的にこのリンクが行っていることです。
スコープ外で現在の反復person
を使用する方法を探しています。<tr>
*ngFor
ng-repeat-start
彼が使用したリンクでは、ng-repeat-end
Angular2ng-repeat.
を使用して同じ動作を実現するにはどうすればよい*ngFor
ですか?
angular - *ngFor 内での Angular 2 の変更検出が機能しないようです (RC5)
私の ng2 モジュール内では、別のモジュールによって関数が呼び出され、オブジェクトが作成され、それがテンプレートの *ngFor にバインドされた配列にプッシュされます。ドキュメントhttps://angular.io/docs/ts/latest/api/common/index/NgFor-directive.htmlによると、変更を自動的に検出する必要があります。配列をコンソールログに記録できますが、すべてがそこにありますが、セレクタータグは空のままです。テストとして静的配列を使用すると、機能します。ここと他のサイトの一見類似した質問とドキュメントの ChangeDetectorRef をすべて調べましたが、見つかったのは数か月前のもので、試してみるとエラーが発生しました。
これは、marker.component.html です。
そしてこれはmarker.component.tsです:
静的に書き込まれた「トークン」が表示され、期待どおりに機能しますが、新しく追加されたものはありません。
templates - Angular 2 * ngFor表示コンポーネントテンプレートが機能しない
「results.component.ts」にこのコレクションがあります。 results: Result[]
コレクションを反復処理して、各結果を表示したいと思います。
これには、result.component.ts という別のコンポーネントが必要です。これは、結果が複雑で大きくなる可能性があるためです。
これまでのところ、何も表示されていません。出力 html には、コメント化されたテンプレート バインディングがいくつかあります。
これが私の関連コードです:
results.component.html:
results.component.ts:
結果.component.html:
結果.コンポーネント.ts:
1 つの結果の結果データを results.component から result.component に渡すにはどうすればよいですか。
result.component.html を結果ごとに 1 回表示するにはどうすればよいですか?
node.js - Angular 2: キャッチされないエラー: 不正な HTML 属性名: *ngfor
meteor 内で angular 2 を実行しています。私はそれに関するチュートリアルに従ってきましたが、このステップで立ち往生しています:
http://www.angular-meteor.com/tutorials/socially/angular2/dynamic-template
すべての angular & angular2-meteor npm パッケージが node_modules ディレクトリにインストールされているため、 *ngfor を参照する app.component.html ファイルがそのエラーをスローする理由がわかりません。ここに私のpackage.jsonファイルがあります:
app.component.html は次のとおりです。
app.component.ts は次のとおりです。
ここに私のindex.htmlがあります:
ここに私のmain.tsがあります:
コンソール出力:
私のファイルはチュートリアルと正確に一致していると思いますが、明らかに何かが見えていないだけかもしれません...
更新 1: node_modules ディレクトリを削除して meteor npm install を再実行し、チュートリアルの git リポジトリから client フォルダー内のすべてのファイル コンテンツを再コピーしましたが、まだ機能しません。*ngFor タグをまだ認識していないため、流星プロジェクトが角度を認識していないか、ノードのインストールと OS ブラウザーのコンボが認識されていない可能性があります。Chrome を使用して Windows 7 を使用しています。ノード バージョン: v6.3.1
更新 2: @neeraj が最初に解決する必要があると述べた可能性があると思います。meteor は HTML ファイルのコンテンツを「マスター」HTML ファイルに追加するため、head タグと body タグは必要ないため、これは正しいと思います。ただし、app.componentl ファイルで head タグと body タグを省略すると、次のエラーがスローされます。
arrays - Angular2 *ngFor: "未定義のプロパティ '0' を読み取れません"
JSON ファイルからデータを取得してフォームを作成しようとしています。
これが私のテンプレートの一部です:
リモート JSON ファイルの一部を次に示します。
それは問題なく動作しnewbie
、メニューに他の選択肢がありselect
ます。しかし、場所をループしたいので、html テンプレートを次のように編集します。
JSONファイルからデータを取得するために使用するサービスは次のとおりです。
そしてここにあるhero.component
:
しかし、「未定義のプロパティ '0' を読み取れません」というエラーが表示されます。
なんで?
angularjs - ngFor が angular 2 で動作せず、空白のページが表示される
私はYouTubeのビデオを見て、このリンクのビデオとまったく同じようにしようとしましたhttps://www.youtube.com/watch?v=bKWDKmHvF78&index=8&list=PL6gx4Cwl9DGBYxWxJtLi8c6PGjNKGYGZZしかし、ngForはまったく機能しません。ngFor で書くと、空白のページが表示されます。
//app.component.ts
//app.component.html
//main.ts
//playlist.component.html
//playlist.component.ts
javascript - Angular2子コンポーネントがngForで予期せず破壊されました
@Output
したがって、次のように、送信時にトリガーされるイベントを持つ from のこのコンポーネントがあります。
を使用してngFor
、この Component の複数の要素を作成しています:
最後の欠落部分は、送信時に使用されるサービスです。
submitForm()
関数の先頭でthis.onSubmit.observers
は、本来あるべき 1 つのオブザーバーを含む配列です。
this.onSubmit.emit()
が呼び出されるコールバック メソッドに到達するとすぐに、this.onSubmit.observers
はゼロのオブザーバーを含む配列になります。
2 つの非常に奇妙な動作が発生しています。
- バックエンドを更新する実際の呼び出しを削除する
SomeService.updateBackend
と、完全に正常に動作し、observers
まだ 1 つのオブザーバーを含む配列です! - バックエンドへの実際の呼び出しを保持するが、使用せずに
ngFor
1 つだけを表示する<some-element>
場合も、完全に正常に動作し、1 つのオブザーバーをthis.onSubmit.observers
コールバック スコープ内に保持します!
私は何が間違っているのですか?
前もって感謝します!
アップデート:
のログ記録に関する @StevenLuke のコメントのおかげで、出力前に破棄されていることngOnDestroy
がSomeComponent
わかりました。
実際、終了時に最初に行うことはSomeService.updateBackend
、このコンポーネントのすべてのインスタンスを破棄して再作成することです!
これがオブザーバーを変えるものです!なぜそれが起こるのでしょうか?
angular - ngForによって生成されたローカル変数の配列を取得するには? もし可能なら
次のコードは、すべてのローカル変数を作成します<div>
よね?
もしそうなら、どうすればの配列を取得でき<div>
ますか?