AngularJS快速入门指南08:表格

简介:

ng-repeat指令非常适合用来显示表格。


在表格中显示数据

  在AngularJS中显示表格非常容易:

复制代码
<div ng-app="myApp" ng-controller="customersCtrl">
        <table>
            <tr ng-repeat="x in names">
                <td>{{ x.Name }}</td>
                <td>{{ x.Country }}</td>
            </tr>
        </table>
    </div>
    <script>
        var app = angular.module('myApp', []);
        app.controller('customersCtrl', function ($scope) {
            $scope.names = [{
                "Name": "Alfreds Futterkiste",
                "City": "Berlin",
                "Country": "Germany"
            }, {
                "Name": "Ana Trujillo Emparedados y helados",
                "City": "México D.F.",
                "Country": "Mexico"
            }, {
                "Name": "Antonio Moreno Taquería",
                "City": "México D.F.",
                "Country": "Mexico"
            }, {
                "Name": "Around the Horn",
                "City": "London",
                "Country": "UK"
            }, {
                "Name": "B's Beverages",
                "City": "London",
                "Country": "UK"
            }, {
                "Name": "Berglunds snabbköp",
                "City": "Luleå",
                "Country": "Sweden"
            }, {
                "Name": "Blauer See Delikatessen",
                "City": "Mannheim",
                "Country": "Germany"
            }, {
                "Name": "Blondel père et fils",
                "City": "Strasbourg",
                "Country": "France"
            }, {
                "Name": "Bólido Comidas preparadas",
                "City": "Madrid",
                "Country": "Spain"
            }, {
                "Name": "Bon app'",
                "City": "Marseille",
                "Country": "France"
            }, {
                "Name": "Bottom-Dollar Marketse",
                "City": "Tsawassen",
                "Country": "Canada"
            }, {
                "Name": "Cactus Comidas para llevar",
                "City": "Buenos Aires",
                "Country": "Argentina"
            }, {
                "Name": "Centro comercial Moctezuma",
                "City": "México D.F.",
                "Country": "Mexico"
            }, {
                "Name": "Chop-suey Chinese",
                "City": "Bern",
                "Country": "Switzerland"
            }, {
                "Name": "Comércio Mineiro",
                "City": "São Paulo",
                "Country": "Brazil"
            }];
        });
    </script>
复制代码

运行


加上样式

  为了使上面的表格更好看,我们在页面上加上一些CSS:

复制代码
<style>
table, th , td {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
}
table tr:nth-child(odd) {
  background-color: #f1f1f1;
}
table tr:nth-child(even) {
  background-color: #ffffff;
}
</style>
复制代码

运行


加上orderBy过滤器

  要对表格数据进行排序,加上orderBy过滤器:

复制代码
<table>
  <tr ng-repeat="x in names | orderBy : 'Country'">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>
复制代码

运行


加上uppercase过滤器

  要显示大写形式,添加uppercase过滤器:

复制代码
<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country | uppercase }}</td>
  </tr>
</table>
复制代码

运行


显示行号($index)

  要显示行号,在<td>中添加$index

复制代码
<table>
  <tr ng-repeat="x in names">
    <td>{{ $index + 1 }}</td>
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>
复制代码

运行


使用$even和$odd

复制代码
<table>
<tr ng-repeat="x in names">
<td ng-if="$odd" style="background-color:#f1f1f1">{{ x.Name }}</td>
<td ng-if="$even">{{ x.Name }}</td>
<td ng-if="$odd" style="background-color:#f1f1f1">{{ x.Country }}</td>
<td ng-if="$even">{{ x.Country }}</td>
</tr>
</table>
复制代码

运行


本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/p/4494415.html,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript 开发者
AngularJS: 了解及使用指南
AngularJS是一个流行的JavaScript框架,用于构建动态的Web应用程序。它由Google开发,并于2010年首次发布。AngularJS通过使用MVVM(Model-View-ViewModel)模式,提供了强大的工具和功能,使开发者能够构建可维护、高性能的应用程序。
101 0
|
JavaScript 前端开发 缓存