如何在两个div中显示Angular中数组的元素?

时间:2016-04-07 14:42:12

标签: javascript angularjs angular-filters


我最近遇到过。
我有一个字符串数组:

a= ['apple', 'rice','pasta','orange']

有一个按钮可以将随机内容推送到此数组中,以便在DB之后保存它,例如:

a.push('carrot');a.save() 

如何在DOM中以两个独立的div显示它(如苹果,左边的橙色,米饭,右边的面食,分割可以是静态的,你不需要教角度来识别每个水果在世界上:P)。

在我看来:过滤或分成两个变量并将其合并后? 我的(肮脏)解决方案是:

var a = getFromDb
$scope.b = _.filter(a,isFruit)
$scope.c = _.filter(a,isNotFruit)

Fruits : <div ng-repeat=fruit in b> {{fruit}}</div>
Others : <div ng-repeat=notFruit in c> {{notFruit}}</div>

$scope.save = function() {
  var a = $scope.b + $scope.c
  saveToDb(a)
}

但那看起来很难看,所以如果有人有更奇特的方式我会喜欢吗?

1 个答案:

答案 0 :(得分:1)

假设您在范围上定义(或使用controller-as):

$scope.a = ['apple', 'rice', 'pasta', 'orange']

然后在模板中,您可以简单地将a分成两部分并单独使用它们:

<div class="left">
  <span ng-repeat="fruit in a.slice(0, 2)">{{ fruit }}</span>
</div>

<div class="right">
  <span ng-repeat="fruit in a.slice(2)">{{ fruit }}</span>
</div>