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 || '-';
      };
  }]);