栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AngularJS-基于json构建动态表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AngularJS-基于json构建动态表

只想与我到目前为止使用的内容分享,以节省您的时间。

这是 硬编码标头 和 _动态标头的_示例(以防不关心数据结构的情况)。在这两种情况下,我都写了一些简单的指令:

customSort

customSort

.directive("customSort", function() {    return {        restrict: 'A',        transclude: true, scope: {          order: '=',          sort: '='        },        template :' <a ng-click="sort_by(order)" >'+          '    <span ng-transclude></span>'+          '    <i ng-></i>'+          '</a>',        link: function(scope) {        // change sorting order        scope.sort_by = function(newSortingOrder) {        var sort = scope.sort; if (sort.sortingOrder == newSortingOrder){     sort.reverse = !sort.reverse; } sort.sortingOrder = newSortingOrder;     };        scope.selectedCls = function(column) { if(column == scope.sort.sortingOrder){     return ('icon-chevron-' + ((scope.sort.reverse) ? 'down' : 'up')); } else{      return'icon-sort'  }         }; }// end link    }    });

[带有静态标题的第一个选项]

我用单身

ng-repeat

这是一个很好的示例

**[Fiddle](http://jsfiddle.net/SAWsA/1758/)**
请注意,没有jQuery库!

<tbody>     <tr ng-repeat="item in pagedItems[currentPage] | orderBy:sortingOrder:reverse">         <td>{{item.id}}</td>         <td>{{item.name}}</td>         <td>{{item.description}}</td>         <td>{{item.field3}}</td>         <td>{{item.field4}}</td>         <td>{{item.field5}}</td>     </tr> </tbody>

[带有动态标题的第二个选项]

演示2:

**[Fiddle](http://jsfiddle.net/SAWsA/2281/)**


HTML

<table > <thead>     <tr>        <th ng-repeat="header in table_headers"  custom-sort order="header.name" sort="sort"         >{{ header.name }}  </th>        </tr> </thead> <tfoot>     <td colspan="6">         <div >  <ul>      <li ng->          <a href ng-click="prevPage()">« Prev</a>      </li>      <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) "          ng-      ng-click="setPage()">          <a href ng-bind="n + 1">1</a>      </li>      <li ng->          <a href ng-click="nextPage()">Next »</a>      </li>  </ul>         </div>     </td> </tfoot> <pre>pagedItems.length: {{pagedItems.length|json}}</pre> <pre>currentPage: {{currentPage|json}}</pre> <pre>currentPage: {{sort|json}}</pre> <tbody>     <tr ng-repeat="item in pagedItems[currentPage] | orderBy:sort.sortingOrder:sort.reverse">          <td ng-repeat="val in item" ng-bind-html-unsafe="item[table_headers[$index].name]"></td>     </tr> </tbody>        </table>

附带说明:

ng-bind-html-unsafe
已过时,所以就用它仅适用于演示(第二示例)。欢迎您编辑。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484459.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号