Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加到JSON中表示AngularJS中密钥服务器数据的数组?_Javascript_Arrays_Json_Angularjs - Fatal编程技术网

Javascript 添加到JSON中表示AngularJS中密钥服务器数据的数组?

Javascript 添加到JSON中表示AngularJS中密钥服务器数据的数组?,javascript,arrays,json,angularjs,Javascript,Arrays,Json,Angularjs,我有一个应用程序,我们有一个调查,我们想添加规则和条件。因此,我尝试向加载时返回给客户端的JSON对象添加值。我使用ng repeat循环遍历一个数组,该数组表示该对象中的规则,该数组还具有表示将显示为第一个数组元素的条件的数组。我正在试图找出如何表示在提交到服务器并添加到数据库之前没有ID的新元素,并且这些新元素仍然由angular中生成的表单表示: { "rules": [ { "ruleId": 1235, "questionId": 5,

我有一个应用程序,我们有一个调查,我们想添加规则和条件。因此,我尝试向加载时返回给客户端的JSON对象添加值。我使用ng repeat循环遍历一个数组,该数组表示该对象中的规则,该数组还具有表示将显示为第一个数组元素的条件的数组。我正在试图找出如何表示在提交到服务器并添加到数据库之前没有ID的新元素,并且这些新元素仍然由angular中生成的表单表示:

{
  "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的值时引发了一个问题,我想我需要找到一种方法来添加到数组中,而不必使用重复的键,这是问题的根源。