在AngularJS ng-repeat中使用2个数组的数据

时间:2017-08-30 10:31:07

标签: javascript angularjs ionic-framework backendless

我目前正致力于Ionic 1项目,利用Backendless数据存储服务。我有一个网页,我需要从2个不同的表格中显示详细信息,这些表格是我从Backendless获得的列表。 这是我的代码:

HTML code:

<ion-view view-title="Your Bookings" ng-controller="GuBookingsCtrl">
<ion-content class="padding">
<ion-refresher pulling-text="Pull to refresh..." on-refresh="doRefresh()">
</ion-refresher>
<ul class="list">
    <li ng-repeat="r in res track by $index" r="r" hotel="hotel" class="item item-button-right">
      <h2>{{hotel.name}}</h2>
      <p>{{r.checkin}} to {{r.checkout}}</p>
      <button class="button button-positive" ng-click="cancel()">
        Cancel
      </button>
    </li>
</ul>
</ion-content>
</ion-view>

JS代码:

angular.module('GuBookingsCtrl.controllers', [])

.controller('GuBookingsCtrl', function($scope, $state) {
var init = function() {
var user = $state.params.user;
$scope.res = [];
$scope.hotel = [];
var whereClause = "guestID = '" + user.objectId + "'";
var queryBuilder = Backendless.DataQueryBuilder.create().setWhereClause( whereClause );
Backendless.Data.of("Bookings").find( queryBuilder )
  .then(function(foundHotels) {
    $scope.res = foundHotels;
    console.log($scope.res);
    for (var i=0;i<$scope.res.length;i++){
      $scope.hotel[i] = Backendless.Data.of("Hotels").findByIdSync( {objectId: $scope.res[i].hotelID} );
    }
    $scope.$apply();
  })
  .catch(function(error) {
    console.log("error" + error.message);
  })
 }
init();
$scope.doRefresh = function () {
  init();
  $scope.$broadcast ('scroll.refreshComplete');
}

$scope.cancel = function() {
console.log("cancel clicked");
}
})

1 个答案:

答案 0 :(得分:1)

如果要将ngRepeat用于两个数组的组合,请使用javascript concat()函数

就像那样:

<div ng-repeat="item in array1.concat(array2)">{{item}}</div>

您需要更多关注此looping multiple arrays simultaneously with ng-repeat

相关问题