angularjs笔记
  • Introduction
  • 依赖注入
  • 作用域
  • 数据绑定
    • 控制器->模板->控制器->模板
  • 多个控制器
  • $scope对象
    • $apply方法、$digest方法
    • $watch方法
    • 示例:购物车
  • 模块和控制器
  • $provide对象的provider、factory、service方法
    • 多个控制器内共享数据
  • 过滤器(Filters)
    • number、currency、date
    • limitTo、lowercase、uppercase
    • filter、orderBy、json
    • 示例:产品列表
    • 自定义过滤器
  • 控制器(controller)
    • 显式和隐式依赖注入
  • 指令
    • Angular 内置指令
    • Angular 自定义指令
      • restrict、template、replace属性
      • templateUrl属性
      • transclude、priority、terminal属性
      • compile && link属性
      • controller && controllAs属性
      • require属性
      • scope属性
  • Module里其他方法
    • constant、value、run方法
  • Form表单
    • 示例:注册页
  • XHR和服务器端的通信
    • $http
  • JavaScript基础
    • .isFunction是否为函数
  • 资料链接
  • 功能组件
    • Tooltip
    • CSV
  • 其他
    • $watchCollection
    • $controller 继承
    • 两个对象合并
    • 页面关闭
    • AngularJs 时间格式化处理
    • 数据的本地存储
    • 页面的URL
Powered by GitBook
On this page

Was this helpful?

  1. 过滤器(Filters)

示例:产品列表

Previousfilter、orderBy、jsonNext自定义过滤器

Last updated 5 years ago

Was this helpful?

效果:

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"/>
    <style>
        .orderColor{
            color:red;
        }
    </style>
</head>
<body>
<div ng-app="product">

    <div class="container" ng-controller="productController">
        <nav class="navbar navbar-default" role="navigation">

            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <form class="navbar-form navbar-left" role="search">
                    <div class="form-group">
                        <input type="text" ng-model="search.id" class="form-control" placeholder="Search">
                    </div>
                </form>
            </div>
        </nav>
        <table class="table">
            <thead>
            <tr>
                <th ng-click="changeOrder('id')" ng-class="{dropup:order === ''}">
                    产品编号
                    <span ng-class="{orderColor:orderType === 'id'}" class="caret"></span>
                </th>
                <th ng-click="changeOrder('name')" ng-class="{dropup:order === ''}">
                    产品名称
                    <span ng-class="{orderColor:orderType === 'name'}" class="caret"></span>
                </th>
                <th ng-click="changeOrder('price')" ng-class="{dropup:order === ''}">
                    产品价钱
                    <span ng-class="{orderColor:orderType === 'price'}" class="caret"></span>
                </th>
            </tr>
            </thead>
            <tbody>
            <!--filter:{id:search}-->
            <tr ng-repeat="product in productData | filter:search | orderBy:order + orderType">
                <td>
                    {{product.id}}
                </td>
                <td>
                    {{product.name}}
                </td>
                <td>
                    {{product.price | currency : '(RMB)'}}
                </td>
            </tr>
            </tbody>
        </table>
    </div>


</div>

<script src="//cdn.bootcss.com/angular.js/1.4.8/angular.js"></script>
<script type="text/javascript" src="app/index.js"></script>


</body>
</html>

app/index.js

    angular.module('product', [])

    .service('productData', function () {
        return [
            {
                id:3333,
                name:'iphone',
                price : 5400
            },
            {
                id:885,
                name:'ipad',
                price : 3420
            },
            {
                id:980,
                name:'imac',
                price : 15400
            },
            {
                id:1212,
                name:'ipad air',
                price : 2340
            },
            {
                id:3424,
                name:'ipad mini',
                price : 2200
            }
        ];
    })

    .controller('productController', function ($scope,productData) {
        $scope.productData = productData;

        $scope.orderType = 'id';

        $scope.order = '-';

        $scope.changeOrder = function(type){

            $scope.orderType = type;

            if($scope.order === ''){
                $scope.order = '-';
            }else{
                $scope.order = '';
            }
        }
    });