3

Angular タスク 1.5.x:

私はこのようなオブジェクトを持っています:

{
    id: 1,
    name: "a",
    items: [
        {"holiday": "false", "day": "monday"}, 
        {"holiday": "true", "day": "tuesday"...}
    ]
}

単一のボタンをクリックするだけで、上記の方法で新しいオブジェクトを作成したいと考えています。各アイテムを一度に個別に追加したくないことに注意してください。つまり、「a」という名前の単一のオブジェクトの場合、すべての日のすべてのアイテムを一度に追加したいと考えています。

私はそれを機能させることができますが、正しい方法を知りたいです。

最終的には、上記の形式 (id なし) で JavaScript オブジェクトを作成し (この形式は正しいと思います)、それをサーバーに送信して動作させることができるはずです。しかし、html/angular コードを追加して、オブジェクトをそのように取得する方法。

詳細については、私に知らせてください。

4

2 に答える 2

1

使用ng-modelする場合、オブジェクトを構築するためにオブジェクトを完全に定義する必要はありません。例えば:

コントローラ

$scope.object= {
    items: [] 
};

var n = 7;
for (var i = 0; i < n; i++)
    $scope.object.items({});

HTML

<input type="text" ng-model="object.name"/>

<div ng-repeat="currObj in object.items">
    <input type="text" ng-model="currObj.holiday" />
    <input type="text" ng-model="currObj.day" />
</div>

一般的な構造は事前に定義する必要がありますが、すべてのプロパティを初期化する必要はありません。バインディングがトリガーされたときに値を受け取ります (ビュー -> モデル)。

于 2017-01-07T07:19:56.907 に答える