AngularJs Filter详解2--自定义过滤器
在AngularJs中可以添加自定义过滤器,来过滤处理或格式化数据
实例1:
<div ng-app="myApp" ng-controller="myCtrl">
<p ng-repeat="x in items | arrayFilter">
{{x}}-----转换后:{{x |dateFormat}}
</p>
</div>
<script>
//AngularJs 自定义过滤器
//1.添加一个model,在model中定义一个过滤器
//2.<strong>注意 对于简单基本类型过滤器执行一次,如果是数组object类型的过滤器执行两次(暂时没有详细探究)</strong>
angular.module("common", []).filter("dateFormat", function () {
return function (input) {
console.info(input);
return input * 100;
}
}).filter("arrayFilter", function () {
return function (input) {
console.info(input);
return input;
}
});
var app = angular.module("myApp", ["common"]);
app.controller("myCtrl", function ($scope) {
$scope.items = [1, 2, 3];
});
</script>2.使用过滤器处理日期格式化问题
<div ng-app="myApp" ng-controller="myCtrl">
<p>
{{ "/Date(1464769470711)/" | dateFormat }}
</p>
</div>
<script>
//AngularJs 自定义过滤器
//1.添加一个model,在model中定义一个过滤器
angular.module("common", []).filter("dateFormat", function () {
return function (input) {
if (/Date/.test(input)) {
var result = input.match(/d+/);
if (result != null && result.length > 0) {
var number = result[0];
console.info(number);
//转换成Date对象
console.info(parseInt(number));
var date = new Date(parseInt(number));
var str = date.getFullYear() + "年" + date.getMonth() + "月" + date.getDay() + "日";
console.info(str);
return str;
}
}
return "";
}
});
var app = angular.module("myApp", ["common"]);
app.controller("myCtrl", function ($scope) {
});
</script>声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: AngularJs Filter详解1-内置过滤器
- 下一篇: js为Object对象动态添加属性和值
