Angular学习之过滤器<filter>

1.作用:

AngularJS 过滤器可用于转换数据,相当于把数据格式化后显示

2。angularJS 提供的一些过滤器(复制字菜鸟教程:http://www.runoob.com/angularjs/angularjs-filters.html):

currency格式化数字为货币格式。
filter从数组项中选择一个子集。
lowercase格式化字符串为小写。
orderBy根据某个表达式排列数组。
uppercase格式化字符串为大写。
3.使用方法:

angualr过滤器的使用方法【{{value|filter}},值或者能表示一个值得变量加一个管道符“|”,后面接上filter的名字比如:
test过滤器: {{greeting|test}}
也可以在控制器中以函数的方法调用比如:
$scope.filteredGreeting = reverseFilter($scope.greeting);


4.举个栗子:

效果图:

这里的过滤器reverseangualr中提供的实例,test是自己编写的filterreverse将字母倒置,test在输入长度超过13时显示...
html代码:
<body ng-app="myReverseFilterApp" style="width: 750px;margin: 0px">
此div中的控制器MyController
<div ng-controller="MyController">
    <input ng-model="greeting" type="text"><br>
   <!-- angualr过滤器的使用方法【{{value|filter}}】,值或者能表示一个值得变量加一个管道符“|”,后面接上filter的名字
    这里的过滤器reverse是angualr中提供的实例,test是自己编写的filter。
    reverse将字母倒置,test在输入长度超过13时显示...-->

    没有过滤器: {{greeting}}<br>
    Reverse过滤器: {{greeting|reverse}}<br>
    在controller中使用Reverse: {{filteredGreeting}}<br>

    test过滤器: {{greeting|test}}
    <hr/>
    <hr/>
</div>
JS代码:
//-------------------------------过滤器-------------------------------
    app.controller('MyController', ['$scope', 'reverseFilter', function ($scope, reverseFilter) {
        //定义model
        $scope.greeting = 'hello';
        //调用函数的方法使用过滤器
        $scope.filteredGreeting = reverseFilter($scope.greeting);
    }]);


    app.filter('reverse', function () {
        return function (input, uppercase) {
            input = input || '';
            var out = '';
            for (var i = 0; i < input.length; i++) {
                out = input.charAt(i) + out;
            }
            // conditional based on optional argument
            if (uppercase) {
                out = out.toUpperCase();
            }
            return out;
        };
    });
    app.filter('test', function () {
        return function (input) {
            var out;
            if (input.length > 15) {
                out = input.substr(0, 13) + "..."
            }
            else out = input;

            return out;
        };
    });


源代码:https://github.com/HanlaoTwo/StudyAngular

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值