JavaScriptオブジェクトの配列を含むデータ構造がある場合、Angularを使用してその配列の特定のエントリを入力フィールドにバインドするにはどうすればよいですか?
データ構造は次のようになります。
$scope.data = {
name: 'Foo Bar',
fields: [
{field: "F1", value: "1F"},
{field: "F2", value: "2F"},
{field: "F3", value: "3F"}
]
};
fields
配列には、指定された構造のいくつかのインスタンスが含まれ、各エントリには属性と属性の両方がありfield
ますvalue
。
input
?を使用して、コントロールをvalue
配列エントリのフィールド属性にバインドするにはどうすればよいfield
F1
ですか?
<input ng-model="???"/>
を使用してすべてのフィールドをバインドできることは知っていますng-repeat
が、それは私が望んでいることではありません。上記のデータは、フィールドのはるかに大きなリストからの単なる例であり、事前定義されたフィールドのサブセットを画面上のコントロールにバインドするだけです。サブセットは配列エントリの属性に基づいていませんが、ページのデザイン時に認識されます。
したがって、上記の例では、F1をページ上の1つの入力にバインドし、F2を別の入力にバインドしようとします。F3はコントロールにバインドされません。
で関数が使用された例を見てきましたが、ng-model
Angular1.1.0では機能しないようです。
入力フィールドを特定の配列エントリにバインドする別の賢い方法はありますか?
これは例のあるフィドルですが、ng-model
属性で関数を使用しようとしているため機能しません:http: //jsfiddle.net/nwinkler/cbnAU/4/
アップデート
以下の推奨事項に基づくと、次のようになります。http: //jsfiddle.net/nwinkler/cbnAU/7/