說,如果你有20個數據的,從陣列,你可以通過使用功能.length
得到的長度,在左側的右手側,10和10,在Angular JS
同時通過填充值ng-repeat
,可以通過使用像limitTo填充左側內的第一半如下所示
ng-repeat="val in values|limitTo:ceil(values.length/2)"
這裏ceil的用法是說如果你有23個數據,那麼你不可能得到完美的一半,這樣左邊或右邊應該累積一個額外的數字,即左邊12個和右邊11個
limitTo
在角JS限制在NG-重複的數字濾波器,語法如下
{{ limitTo_expression | limitTo : limit}}
而且要使用ceil
函數中limitTo已注入給出到您的scope
,
最簡單的方法,你可以做
$scope.ceil = Math.ceil;
在您的控制器。Angular
的方式做正確,這將通過使用
ng-repeat="val in values|limitTo:-values.length/2"
看看這個例子
HTML
可以創建一個
Math
服務
同樣在右側您可以填寫
Working Demo
<div ng-app ng-controller="ArrayController">
<div class="left">
<span ng-repeat="val in values|limitTo:ceil(values.length/2)">{{val}}
<br/>
</span>
</div>
<div class="right">
<span ng-repeat="val in values|limitTo:-values.length/2">{{val}}
<br/>
</span>
</div>
</div>
腳本
angular.module("app", [])
.controller('ArrayController', function ($scope) {
$scope.ceil = Math.ceil;
$scope.values = ['data1', 'data2', 'data3', 'data4',
'data5', 'data6', 'data7', 'data8',
'data9', 'data10', 'data11', 'data12',
'data13', 'data14', 'data15', 'data16',
'data17', 'data18', 'data19', 'data20'];
});
手段說,在第一列數據1 - DATA10,第二列data11-資料20,即其餘則在thired列之後即data21- data30,等等...我說的對 –
@NidhishKrishnan幾乎。它更像是,如果有數據1 - 數據6,則左側將是data1-data3,右側將是data4 - data6。所以該面板的高度將取決於該陣列中的數據數量。 – Mike