Angular 1.4.8 Filter Demo
by Tommy
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-sanitize/1.4.8/angular-sanitize.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.js"></script>
<div ng-app="app" ng-controller="ctrl">
Hello {{hello}}
<ul>
<li ng-repeat="num in numbers track by $index">
Value={{num}}; F1: {{num | myFilter}}; F2: {{num | myFilter:'NADA'}}; F3: {{num | myFilter:'NADA':'zerooo'}}
</li>
</ul>
</div>
JavaScript
angular.module('app',[])
.controller('ctrl',[
'$scope',
function($scope){
$scope.hello = 'World!';
$scope.numbers = [
null,
undefined,
'0',
'1',
'2',
3.45,
'56.78'
]
}])
.filter('myFilter',['$filter', function($filter){
return function (str, fallback, zeroFallback) {
var num = parseFloat(str);
if (num === 0) {
return zeroFallback || 'Free';
} else if (num && num > 0) {
return $filter('currency')(num, '$', 2);
}
return fallback || '-';
};
}]);