0

私が遊んでいるコードはここにあります。

現在のところ、私のすべてのtext分野で、ng-modelの名前は1つだけfieldDataです。作成したjavascriptオブジェクトをJSONオブジェクトにすると、次のようになります。

[{"pHolder":"ID goes here","fieldData":"123"},{"pHolder":"Description goes here","fieldData":"456"},{"pHolder":"Drop Dead Date goes here","fieldData":"789"}]

フィールドごとに意味が違うので、それをバインド名に反映させたいと思います。したがって、それぞれが呼び出された3つのwithの代わりに、3つのarraywhereが必要であり、現在ある各場所で置き換えられます。objectsstringfieldDataarrayobjectsfoo barbazfieldData

それ、どうやったら出来るの?

4

1 に答える 1

1

Javascript配列オブジェクトは、他の側面と同様に非常に柔軟性があり、それを有利に使用できます:) ngRepeatは、順序付けされているか関連付けられているか(基本的に同じ)を問わず、任意の配列を繰り返し処理します。したがって、配列を次のように変更すると、次のようになります。

$scope.entryFields = {
        id: {pHolder:'ID goes here',fieldData:""},
        description: {pHolder:'Description goes here',fieldData:""},
        date: {pHolder:'Drop Dead Date goes here',fieldData:""}
        };

ng-repeat要素は変更なしで引き続き機能します(デフォルトではキー名のアルファベット順に並べ替えられるため、並べ替えることができます)が、名前(ドット表記)でフィールドをアドレス指定できます。ここで更新されたフィドルを参照してください。

于 2012-12-04T02:43:36.733 に答える