栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Angular中的资金格式指令

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Angular中的资金格式指令

。::更新的答案-7月14日::。


检查以下简单指令:

app.directive('price', [function () {    return {        require: 'ngModel',        link: function (scope, element, attrs, ngModel) { attrs.$set('ngTrim', "false"); var formatter = function(str, isNum) {     str = String( Number(str || 0) / (isNum?1:100) );     str = (str=='0'?'0.0':str).split('.');     str[1] = str[1] || '0';     return str[0].replace(/(d)(?=(ddd)+(?!d))/g, '$1,') + '.' + (str[1].length==1?str[1]+'0':str[1]); } var updateView = function(val) {     scope.$applyAsync(function () {         ngModel.$setViewValue(val || '');         ngModel.$render();     }); } var parseNumber = function(val) {     var modelString = formatter(ngModel.$modelValue, true);     var sign = {         pos: /[+]/.test(val),         neg: /[-]/.test(val)     }     sign.has = sign.pos || sign.neg;     sign.both = sign.pos && sign.neg;     if (!val || sign.has && val.length==1 || ngModel.$modelValue && Number(val)===0) {         var newVal = (!val || ngModel.$modelValue && Number()===0?'':val);         if (ngModel.$modelValue !== newVal)  updateView(newVal);         return '';     }     else {         var valString = String(val || '');         var newSign = (sign.both && ngModel.$modelValue>=0 || !sign.both && sign.neg?'-':'');         var newVal = valString.replace(/[^0-9]/g,'');         var viewVal = newSign + formatter(angular.copy(newVal));         if (modelString !== valString)  updateView(viewVal);         return (Number(newSign + newVal) / 100) || 0;     } } var formatNumber = function(val) {     if (val) {         var str = String(val).split('.');         str[1] = str[1] || '0';         val = str[0] + '.' + (str[1].length==1?str[1]+'0':str[1]);     }     return parseNumber(val); } ngModel.$parsers.push(parseNumber); ngModel.$formatters.push(formatNumber);        }    };}]);

并像这样使用它:

<input type="text" ng-model="number" price >

在此
PLUNKER中
实时观看(7月14日)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号