代码之家  ›  专栏  ›  技术社区  ›  Yevgeniy Bagackiy

如何在ng repeat中传递动态变量

  •  2
  • Yevgeniy Bagackiy  · 技术社区  · 6 年前

    $scope.expand = function(hodid, supid, leader_id, staff_id, importance){
      var tr_id = 'expand_tree_'+hodid;
    

    在控制台输出中,它将如下所示: expand_tree_1000321

      $scope[tr_id] = {firstLevel:[$scope.firstLevelLst], secondLevel:[$scope.secondLevelLst], thirdLevel:[data_third]};
    };  
    

    现在我要打印这个 $scope[tr_id] 里面 ng-repeat 哪里 tAttrs.treeid

    <div  ng-repeat="first in ['expand_tree_'+tAttrs.treeid].firstLevel['0']">
      {{first.username}}
    </div>
    

    但它什么也没印。如何在内部打印范围数组 ng重复 有动态变量吗?

    1 回复  |  直到 4 年前
        1
  •  2
  •   Dan    6 年前

    首先,看起来你正在使用 $scope

    $scope.data = {};
    

    并将数据存储为:

    $scope.data[tr_id] = {
        firstLevel: [$scope.firstLevelLst],
        secondLevel: [$scope.secondLevelLst],
        thirdLevel: [data_third]
    };
    

    但不要将属性包装到数组中,因为它们已经是数组了:

    $scope.data[tr_id] = {
        firstLevel: $scope.firstLevelLst,
        secondLevel: $scope.secondLevelLst,
        thirdLevel: data_third
    };
    

    first

    <div ng-repeat="first in data['expand_tree_' + tAttrs.treeid].firstLevel">
        {{first.username}}<br />
    </div>
    

    这是一个 Working Fiddle