两个ng-repeater在同一页面上

时间:2014-07-29 12:09:49

标签: javascript angularjs

我有一个页面,上面有一个项目列表。每行都有一个按钮。通过按下按钮列表项目被添加到同一页面上的另一个列表中(它是典型的"顺序"表格)。我使用角度ng-repeater来显示第一个列表。用户按下按钮后,项目信息将添加到JSON变量。问题是在同一页面上显示用户选择列表的最佳方式是什么?到目前为止,我想到将属性添加到第一个列表中,因此当用户选择它时,它将显示在第二个列表中。但我也希望用户修改第一个列表而不对第二个列表进行任何更改。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

检查下面的代码,按钮ng-click指令调用函数AddtoList2($ index)将当前List1项添加到List2,可选择从List1中删除当前项。

在模板方面

<div ng-repeat="item1 in List1">
     ...
    <input type="button" ng-click="AddtoList2($index)" />
</div>

<div ng-repeat="item2 in List2">
    ...
</div>

在控制器端

   $scope.List1 = [];
   $scope.List2 = [];

   $scope.AddtoList2 = function (idx) {
       var item = $scope.List1[idx];
       $scope.List2.push(item);

        //If you want to remove from List 1
        $scope.List1.splice(idx, 1)
    };