Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 ng repeat中作用域的动态名称_Javascript_Angularjs - Fatal编程技术网

Javascript ng repeat中作用域的动态名称

Javascript ng repeat中作用域的动态名称,javascript,angularjs,Javascript,Angularjs,我需要动态生成范围变量的名称,然后在html页面的ng repeat中使用它。我真的不知道该怎么开始。我需要的是: 在我的控制器中: $scope.[myDynamicName] = Section1; $scope.[myDynamicName] = Section2; 然后在我的html中: <div ng-repeat="item in myDynamicName(Section1)"> here myDynamicName would be replaced with Se

我需要动态生成范围变量的名称,然后在html页面的
ng repeat
中使用它。我真的不知道该怎么开始。我需要的是:

在我的控制器中:

$scope.[myDynamicName] = Section1;
$scope.[myDynamicName] = Section2;
然后在我的html中:

<div ng-repeat="item in myDynamicName(Section1)"> here myDynamicName would be replaced with Section1
<div ng-repeat="item in myDynamicName(Section2)"> here myDynamicName would be replaced with Section2
我不能在同一页上为每组使用
$scope.questions

非常感谢您的帮助。

试试这样的方法(显然没有经过测试)

首先,创建一个数组来保存结果组

$scope.sectionAnswers = [];
接下来,在获取特定组的结果时,可以将结果列表推送到数组中:

deferred.resolve(contractorService.getQuestionSectionAnswers(id)
      .success(function (data) {
        $scope.sectionAnswers.push(data);
      }))
然后,您可以遍历数组,然后遍历子数组:

<div ng-repeat="section in sectionAnswers">
  <div ng-repeat="answer in section">
    {{answer.field}}
  </div>
</div>

{{answer.field}

当用户取消选中复选框时,您只需从数组中删除关联的
答案。

能否详细说明如何生成动态变量供用户选择?您将获得一个列表,或者使用一些服务,或者其他什么吗?用户通过复选框选择节,该复选框收集所需的节号。然后调用一个服务来获取每个部分的信息,因此每次从服务返回特定部分的数据时,我需要为该部分命名一个范围变量。我可能完全错了,但我不确定如何才能获得所需的内容。好的,用户有一个节列表可供选择,然后他们选择一些,这将向服务发送一组节号。然后服务人员会为每个分区号码打电话,对吗?因此,要么(a)服务返回一组分区数组,要么(b)服务返回一组不同的数组,由分区号标识,对吗?对每个分区的调用都会返回该分区的项目列表。对,那么这些服务调用是什么样子的呢?你能展示一下你是如何进行这些调用的,以及你是如何存储返回的内容的吗?哈哈!我只是在评论中问我是否可以这样做。我要试试看。谢谢另外,您可能希望切换到
.then()
,而不是不推荐的
.success()
,并且如果
getQuestionSectionAnswers
正在使用
$http
,则不需要将响应包装在承诺中,因为
$http
以本机方式返回承诺。
<div ng-repeat="section in sectionAnswers">
  <div ng-repeat="answer in section">
    {{answer.field}}
  </div>
</div>