Javascript 添加到JSON中表示AngularJS中密钥服务器数据的数组?
我有一个应用程序,我们有一个调查,我们想添加规则和条件。因此,我尝试向加载时返回给客户端的JSON对象添加值。我使用ng repeat循环遍历一个数组,该数组表示该对象中的规则,该数组还具有表示将显示为第一个数组元素的条件的数组。我正在试图找出如何表示在提交到服务器并添加到数据库之前没有ID的新元素,并且这些新元素仍然由angular中生成的表单表示:Javascript 添加到JSON中表示AngularJS中密钥服务器数据的数组?,javascript,arrays,json,angularjs,Javascript,Arrays,Json,Angularjs,我有一个应用程序,我们有一个调查,我们想添加规则和条件。因此,我尝试向加载时返回给客户端的JSON对象添加值。我使用ng repeat循环遍历一个数组,该数组表示该对象中的规则,该数组还具有表示将显示为第一个数组元素的条件的数组。我正在试图找出如何表示在提交到服务器并添加到数据库之前没有ID的新元素,并且这些新元素仍然由angular中生成的表单表示: { "rules": [ { "ruleId": 1235, "questionId": 5,
{
"rules": [
{
"ruleId": 1235,
"questionId": 5,
"effect": "show",
"conditions": [
{
"conditionId": 1,
"questionId": 1,
"operator": "==",
"value": 2
},
{
"conditionId": 2,
"questionId": 2,
"operator": "~=",
"value": "Hide me"
}
]
},
{
}
]
}
以下数据以html格式呈现,如下所示:
<div ng-repeat="rule in survey.rules" class="rule">
<!-- Display the form for modifying data of rule -->
<div ng-repeat="condition in rule.condition">
<!-- The condition details -->
</div>
<a ng-click="survey.addCondition(rule)>(+) Add Condition</a>
</div>
<a ng-click="survey.addRule()>(+) Add Rule</a>
我为规则及其条件数组创建了一种添加到数组的方法,但当我尝试添加多个规则时,会出现id冲突,因为应用程序正在使用ruleId和conditionId进行索引。我不想在没有实际id的情况下为应用程序的数据分配随机id,但可能有更好的方法,这样我可以将它们传递到服务器并保存到数据库中。是否需要在客户端存储id?您可以假设返回服务器的任何条件都是新的条件。或者尝试使用负数或其他你永远不会从服务器返回的东西?我对angular有点陌生,所以我仍然习惯于它背后的整个想法。后端将返回ID,因为一旦添加完规则/条件,我们将使用ID更新数据库中的详细信息。由于Angular在分配多个具有空id的值时引发了一个问题,我想我需要找到一种方法来添加到数组中,而不必使用重复的键,这是问题的根源。