【问题标题】:AngularJS: ng-repeat the list but with titles and grouped byAngularJS:ng-repeat 列表,但带有标题并按
【发布时间】:2017-05-05 19:39:20
【问题描述】:

我有

myCtrl.guests = [
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"},
    {"firstName":"Albert", "lastName":"Smith"},
    {"firstName":"Mark", "lastName":"Jones"},
    {"firstName":"Mark", "lastName":"Smith"}
];

它完美地显示在页面上

    <ul>
        <li ng-repeat="guest in guests">
            {{guest.firstName}}
        </li>
    </ul>

结果,列表中显示了 6 个人。

但是,我需要按姓氏对列表进行分组,以便页面上的列表如下所示(6 个人,3 个姓氏 = 9):

    <ul>
        <li class="title">
            Doe
        </li>
        <li>
            John
        </li>
        <li class="title">
            Jones
        </li>
        <li>
            Peter
        </li>
        <li>
            Mark
        </li>
        <li class="title">
            Smith
        </li>
        <li>
            Anna
        </li>
        <li>
            Albert
        </li>
        <li>
            Mark
        </li>
    </ul>

class="title" 将有助于突出显示姓氏,并为姓氏适当地应用 css 样式。 任何想法如何使用 AngularJS 制作它?我想它应该是简短而优美的。

【问题讨论】:

  • 创建一个生成所需 JSON 的函数,然后他们使用该 JSON 来显示它
  • 您是否无法随意对齐结果。您已经有了数据,只是您必须使用 HTML 来了解如何显示为姓氏后跟名字

标签: javascript css angularjs list angularjs-ng-repeat


【解决方案1】:

你需要检查这个小提琴链接,因为它是一个角度指令来分组和显示分组结果

http://jsfiddle.net/4Dpzj/6/

<div ng-repeat="item in MyList  | orderBy:'groupfield' | groupBy:['groupfield']">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多