AngularJs directive使用自定义filter

Js代码   收藏代码
  1. /** 
  2.          * money formatter, will add <small> tag for the yuan and the decimal 
  3.          * <div ng-bind-html="number|slMoney [:shrink [:noHtml :decimalLength]]"></div> 
  4.          * */  
  5.         sl.filter('slMoney',['$filter','$sce',function($filter,$sce) {  
  6.             /** 
  7.              * @number input number , by default (mostly used) : 32123.34 --> 32,123<small>.34元</small> 
  8.              * @shrink true -- will put wy at the end , 
  9.              *                should use this only when the number is multiple of 100, 
  10.              *                or with decimal 2 will lose the money in position 1 and 2 
  11.              *                slMoney(11230,true)--> 1<small>.12万元</small> , 30 will lost 
  12.              * @noHtml true -- won't add the <small> tag 
  13.              * @decimalLength define the decimal length, default 2 , usually we use 2 
  14.              * @noCurrencySign wont add yuan at the end 
  15.              */  
  16.             return function(number,shrink,noHtml,decimalLength,noCurrencySign) {  
  17.                 number = replaceMoneySign(number);  
  18.                 var _nf = $filter('number');  
  19.                 var n = '', sign = y;  
  20.                 var dl = decimalLength || decimalLength == 0 ? decimalLength : 2;  
  21.                 if(!shrink) {  
  22.                     n = _nf(number, dl);  
  23.                 }  
  24.                 else{  
  25.                     var multiple = 1,m=1e4;  
  26.                     if(number >= m) { multiple = m;   sign = wy; }  
  27.                     n = _nf(number / multiple, number % multiple == 0 ? 0 : dl);  
  28.                 }  
  29.                 var index =  n.indexOf('.');  
  30.                 var beforeDecimal = index < 0 ? n : n.substring(0, index);  
  31.                 var afterDecimal = index < 0 ? '' : n.substring(index);  
  32.                 sign = noCurrencySign  ? '' : sign;  
  33.                 var res = beforeDecimal + (!noHtml ? '<small>':'') + afterDecimal + sign + (!noHtml ? '</small>':'');  
  34.                 return $sce.trustAsHtml(res);  
  35.             };  
  36.         }]);  

 

Js代码   收藏代码
  1. // js使用  
  2. sl.directive('slPlanCard', ['$sce''$filter',  
  3. function($sce, $filter){  
  4.   amountObj.innerHTML = $filter('slMoney')(amount, truetrue);  
  5. }  

 

Html代码   收藏代码
  1. <!-- html使用 -->  
  2.  <p>{{ plan.minInvestAmount | slMoney:true:true }}</p> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值