如何使用ng-repeat在Ionic中创建卡的动态排列

时间:2016-01-05 15:30:46

标签: javascript angularjs ionic

目前我的IONIC应用主页看起来像是:

Home Page

当应用程序是平板电脑尺寸时,卡片会在屏幕上伸展,占用大量不必要的空间。我希望这些卡可以并排,除了当应用程序在手机上运行时,这些卡应排成一列,如下所示:

在平板电脑上 -

[card 1] [card 2] [card 3] [card 4]
[card 5] [card 6] [card 7] [card 8]
[card 9] [card 10] [card 11] [card 12]
etc...

在电话上 -

[card 1]
[card 2]
[card 3]
[card 4]
etc...

我的问题是:如何更改以下代码(使用ng-repeat)来创建所需的动态卡片布局?

<div class="card" ng-repeat="schedule in vm.scheduleData | orderBy: '-ScheduleDate' | limitTo: 100"
        ng-click="vm.selectMasterBill(schedule.MasterBOLNumber)">
    <div class="item item-divider item-positive">
        Master BOL Number {{schedule.MasterBOLNumber}}
    </div>
    <div class="item item-divider">
        <p>Date scheduled: {{vm.parseDate(schedule.ScheduleDate)}}</p> 
    </div>
    <div class="item item-divider">
        <p>Scheduled by: {{schedule.ScheduleBy}}</p>
    </div>
    <div class="item item-divider">
        <p>Carrier code: {{schedule.CarrierCode}}</p>
    </div>
</div>

1 个答案:

答案 0 :(得分:4)

在样式表中使用媒体查询

例如:你的scss / css文件看起来像这样:

.responsive-card {
    width: 100%;
    float: left;
}

@media screen and (min-width: 768px) {
    .responsive-card {
        width: 25%;
    }
}

不要忘记在html中添加responsive-card课程:

<div class="card responsive-card" ng-repeat="schedule in vm.scheduleData">
    ...
</div>