【备忘录】ng添加货币符号自定义指令
'use strict'; /** * currency * usage: * <input type="text" ng-model="money" currency symbol="$" /> * symbol为可选currency */ angular.module('my-currency', []) .directive('currency', ['$filter', function($filter){ return { require: 'ngModel', link: function(scope, elem, attrs, ctrl){ ctrl.$formatters.push(parseCurrency); ctrl.$parsers.push(function(value){ var num = value.replace(/[^0-9.]/g, ''), result = parseFloat(num); return isNaN(result) ? undefined : result; }); elem.bind('blur', function(){ ctrl.$viewValue = parseCurrency(); ctrl.$render(); }); function parseCurrency(){ var symbol = attrs.symbol || '¥'; return $filter('currency')(ctrl.$modelValue, symbol); } } } }]);