[解決済み] Angularでオブジェクトを繰り返し処理する【重複】。
2022-04-27 06:42:36
質問
Angular 2 Alpha 28でいくつかのことをしようとしているのですが、ディクショナリと
ngFor
.
TypeScriptでこんな感じのインターフェースを持っています。
interface Dictionary {
[index: string]: string
}
JavaScriptでは、これはデータ付きのオブジェクトに変換され、次のようになります。
myDict={'key1':'value1','key2':'value2'}
これを繰り返し行いたいので、これを試しました。
<div *ngFor="(#key, #value) of myDict">{{key}}:{{value}}</div>
しかし、無駄だった。以下のどれもうまくいかなかった。
<div *ngFor="#value of myDict">{{value}}</div>
<div *ngFor="#value of myDict #key=index">{{key}}:{{value}}</div>
いずれの場合も、次のようなエラーが発生します。
Unexpected token
または
Cannot find 'iterableDiff' pipe supporting object
何が足りないのでしょうか?これはもう不可能なのでしょうか?(最初の構文はAngular 1.xで動作します) それとも、オブジェクトを反復するための構文が違うのでしょうか?
どのように解決するのですか?
ng1からの構文に対応したくないようです。
Miško Heveryによると( 参照 ):
マップはキーに順序を持たないので、反復は予測不可能です。 これはNG1ではサポートされていましたが、私たちはこれは間違いだと考えています。 NG2でサポートされる
予定では、mapToIterableパイプの
<div *ngFor"var item of map | mapToIterable">
したがって、オブジェクトを反復処理するためには、"pipe" を使用する必要があります。 現在のところ パイプ を実装しています。
回避策として、キーに反復処理を行う小さな例を示します。
コンポーネントです。
import {Component} from 'angular2/core';
@Component({
selector: 'component',
templateUrl: `
<ul>
<li *ngFor="#key of keys();">{{key}}:{{myDict[key]}}</li>
</ul>
`
})
export class Home {
myDict : Dictionary;
constructor() {
this.myDict = {'key1':'value1','key2':'value2'};
}
keys() : Array<string> {
return Object.keys(this.myDict);
}
}
interface Dictionary {
[ index: string ]: string
}
関連
-
[解決済み] Angular [disabled]="MyBoolean "が動作しない。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み] NGIf else "の使い方を教えてください。
-
[解決済み] モジュール "@angular-devkit/build-angular" が見つかりませんでした。
-
[解決済み] オブジェクトのキーと値に*ngForでアクセスする
-
[解決済み] Angularでselect要素をオブジェクトにバインドする
-
[解決済み] SubjectとBehaviorSubjectの違いは何ですか?
-
[解決済み] 複数のng-content
-
[解決済み] ファイル 'app/hero.ts' is not a module error in console, where to store interfaces files in directory structure with angular2?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プロパティ 'json' はタイプ 'Object' に存在しません。
-
Angularが報告するインジェクションエラーとその解決方法...$injector:unpr]。
-
[解決済み] Angular: 'Cannot find a differ supporting object '[object Object]' of type 'object'. NgForはArrayのようなIterableへのバインディングのみをサポートしています'。
-
[解決済み] コンストラクタとngOnInitの違いについて
-
[解決済み] Angular 2+でngShowとngHideに相当するものは何ですか?
-
[解決済み] オブジェクトのキーと値に*ngForでアクセスする
-
[解決済み] Angularアプリケーションが本番モードと開発モードのどちらで動作しているかを確認する方法
-
[解決済み] ナンバーパイプ - Angular 2のパラメータは?
-
[解決済み] エクスポートされた2つのクラスを同じ名前でインポートする
-
[解決済み] VSCodeでAngularをデバッグする方法とは?