angularjs ng-repeat数组索引

时间:2017-03-01 13:41:33

标签: angularjs arrays angularjs-ng-repeat

如何打印(基于数组索引)所有数组值?

目前,它会打印所有值。

CrystalDecisions.Windows.Forms.CrystalReportViewer

我尝试根据id获取数组值但是我在该表中得到了所有数组值我如何修复

2 个答案:

答案 0 :(得分:1)

正如我从您的评论中理解的那样,您只想在有人点击该数组项目的“查看更多”时才显示数组数据。

您可以使用基于$ index的ng-show。点击查看更多,通过功能调用更改扩展索引。我写了一个小例子看看下面。

Try on CodePen

  <html>

  <body ng-app>
        <h1>Click on view More below </h1>
    <div id="main" ng-app ng-controller="appController">
        <div ng-repeat="data in arr track by $index">
            <input type='button' value="View more" ng-click="showMore($index)"/> 
            <spna>item {{ $index }}</span>
            <span ng-show='expanded == $index'>{{data.name}}</span>
            <br><br>
            </div>
</div>

 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>    
  </body>
</html>

在您的控制器中:

function appController($scope){
    $scope.arr = [ {name:'one'},{name:'two'},{name:'three'}];

    $scope.showMore = function(i)
    {
        $scope.expanded = i;
    }
}

答案 1 :(得分:0)

如果要访问openViewMore内的数组对象,则将索引作为参数传递,并像这样访问数组。

<button ng-click="openViewMore($index)">View More</button> 
$scope.openViewMore = function(index) {
    console.log($scope.relTransactions[index])
}

或者您可以将对象作为参数传递给函数。

<button ng-click="openViewMore(data)">View More</button> 
$scope.openViewMore = function(data) {
    console.log(data)
}