Commit 9a83dd61da15e29129a4a3058ef55eb6c7078807

Authored by liuqimichale
1 parent 841f35d2

全局注册util方法

src/components/total.vue
1 1 <template>
2 2 <div class="totalwrap">
3   - 总计:{{initnum}}
  3 + 总计
  4 + <span v-for="item in this.$util.formatNumArr(totalNum)" :class="item !== ',' ? 'titlebg' : '' ">{{item}}</span>
4 5 </div>
5 6 </template>
6 7  
7 8 <script>
8   -import {formatNum} from '../utils/formatNum'
9 9  
10 10 export default {
11 11 name: 'total',
... ... @@ -14,7 +14,7 @@ export default {
14 14 },
15 15 data() {
16 16 return {
17   - initnum: formatNum(this.totalNum)
  17 + // initnum: this.$util.formatNumArr(this.totalNum)
18 18 }
19 19  
20 20 }
... ... @@ -26,4 +26,8 @@ export default {
26 26 height: 40px;
27 27 color: #fff;
28 28 }
  29 +
  30 + .titlebg {
  31 + background: #f00;
  32 + }
29 33 </style>
... ...
src/filters/filters.js 0 → 100644
  1 +export function formatNum(str) {
  2 + var newStr = "";
  3 + var count = 0;
  4 + for (var i = str.length - 1; i >= 0; i--) {
  5 + if (count % 3 == 0 && count != 0) {
  6 +
  7 + newStr = str.charAt(i) + "," + newStr;
  8 + } else {
  9 + newStr = str.charAt(i) + newStr;
  10 + }
  11 + count++;
  12 + }
  13 + str = newStr;
  14 + return str;
  15 +
  16 +}
  17 +
  18 +export function formatNumArr(str) {
  19 + var newStr = "";
  20 + var count = 0;
  21 + for (var i = str.length - 1; i >= 0; i--) {
  22 + if (count % 3 == 0 && count != 0) {
  23 +
  24 + newStr = str.charAt(i) + "," + newStr;
  25 + } else {
  26 + newStr = str.charAt(i) + newStr;
  27 + }
  28 + count++;
  29 + }
  30 + str = newStr;
  31 + str = str.split('')
  32 + return str;
  33 +
  34 +}
... ...
src/main.js
... ... @@ -4,6 +4,13 @@ import Vue from &#39;vue&#39;
4 4 import App from './App'
5 5 import './mock/mock'
6 6 import '@/styles/reset.css'/*引入重置样式*/
  7 +import * as filters from './filters/filters'
  8 +import util from './utils/formatNum'
  9 +Vue.prototype.$util = util
  10 +
  11 +Object.keys(filters).forEach(key => {
  12 + Vue.filter(key, filters[key])
  13 +})
7 14  
8 15 Vue.config.productionTip = false
9 16  
... ...
src/utils/formatNum.js
1   -export function formatNum(str) {
  1 +// export function formatNum(str) {
  2 +// var newStr = "";
  3 +// var count = 0;
  4 +// for (var i = str.length - 1; i >= 0; i--) {
  5 +// if (count % 3 == 0 && count != 0) {
  6 +//
  7 +// newStr = str.charAt(i) + "," + newStr;
  8 +// } else {
  9 +// newStr = str.charAt(i) + newStr;
  10 +// }
  11 +// count++;
  12 +// }
  13 +// str = newStr;
  14 +// return str;
  15 +//
  16 +// }
  17 +
  18 +function formatNumArr(str) {
  19 + console.log(typeof str)
2 20 var newStr = "";
3 21 var count = 0;
4 22 for (var i = str.length - 1; i >= 0; i--) {
... ... @@ -11,6 +29,9 @@ export function formatNum(str) {
11 29 count++;
12 30 }
13 31 str = newStr;
  32 + str = str.split('')
14 33 return str;
15 34  
16 35 }
  36 +
  37 +export default {formatNumArr}
... ...