私はこの JSFiddle コードを持っています:
http://jsfiddle.net/rnnb32rm/285/
<div ng-app="angularjs-starter" ng-controller="MainCtrl">
<fieldset data-ng-repeat="choice in choicesA">
<input type="text" ng-model="choice.name" name="" placeholder="Enter name">
<button class="addfields" ng-click="addNewChoice()">Add fields</button>
<button class="remove" ng-click="removeChoice()">-</button>
</fieldset>
<div id="choicesDisplay">
{{ choicesA }} <br/>
{{ choicesB }}
</div>
</div>
JS:
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope) {
$scope.choicesA = [{id: 'choice1'}, {id: 'choice2'}];
$scope.choicesB = [];
$scope.addNewChoice = function() {
var newItemNo = $scope.choicesA.length+1;
$scope.choicesA.push({'id':'choice'+newItemNo});
};
$scope.removeChoice = function() {
var lastItem = $scope.choicesA.length-1;
$scope.choicesA.splice(lastItem);
};
});
ご覧のとおりaddNewChoice()
、配列にオブジェクトを追加する関数があり、配列choicesA
のオブジェクト番号に基づいてテキストボックスが追加されますchoicesA
。
最初の のボタンfieldset
をクリックしたときにのみ、最初にテキストボックスを追加する必要があります。生成されたテキストボックスに書き込むデータはバインドされ、配列のオブジェクトを分離するために追加されます。他のすべてのボタンについても同じです (したがって、各ボタンはテキストボックスを独自のタグにのみ追加できます)。これも、配列内のオブジェクトの数に基づいて生成されます。Add fields
fieldset
choicesB
Add fields
Add field
fieldset
choicesA
私はすべてを試しましたが、私はそれを理解することはできません。少し不明な点がある場合は、さらに説明できます。よろしくお願いします。
編集:ご協力いただきありがとうございます。詳しく説明させてください:
Spring REST API とJava
Resource & Action という名前の 2 つのオブジェクト (JPA エンティティ) があり、オブジェクト Resource にはアクションのリストが含まれ、Action にはリソースへの参照が含まれています。
ページをロードするとResource
、名前付きの $http.get() メソッドによって、既に保存したオブジェクトの配列がデータベースから返されますchoicesA
。配列の構造は次のようになります。
[
{"idResource":1, "nameResource": "resName1"},
{"idResource":2, "nameResource": "resName2"}
......etc depends oh how much rows I got from the DB
]
Action
別のネストされていない配列という名前のオブジェクトの配列を投稿する別のメソッド $http.post() がありますchoicesB
。配列構造は次のようになります。
[
{"idAction":1, "nameAction":"nameAction1", "resource":
{"idResource":1, "nameResource": "resName1"},
{"idAction":2, "nameAction":"nameAction2", "resource":
{"idResource":2, "nameResource": "resName2"},
..
}
{...},
{...}
...
]
したがって、choicesA
配列にはResource
$http.get() で取得したオブジェクトが含まれます。次に、配列にAction
オブジェクトを入力し、 choicesB
$http.post() を使用して配列を保存します。すべてAction
のオブジェクトにオブジェクトが含まれている必要がありResource
ます。fieldset
たとえば、クリックして最初のタグにさらにアクションを追加すると、配列の最初のAction
オブジェクトを入力し、配列にある最初のオブジェクトにchoicesB
割り当てることを意味します。Resource
choicesA
choicesB
アクションの数を決定して入力し、配列に保存できるようにしたいと考えています。しかし、すべてのアクションは、Resource
私が説明したように特定のオブジェクトに関連しています。
申し訳ありませんが、またよろしくお願いします。