Commit 9a83dd61da15e29129a4a3058ef55eb6c7078807

Authored by liuqimichale
1 parent 841f35d2

全局注册util方法

src/components/total.vue
1 <template> 1 <template>
2 <div class="totalwrap"> 2 <div class="totalwrap">
3 - 总计:{{initnum}} 3 + 总计
  4 + <span v-for="item in this.$util.formatNumArr(totalNum)" :class="item !== ',' ? 'titlebg' : '' ">{{item}}</span>
4 </div> 5 </div>
5 </template> 6 </template>
6 7
7 <script> 8 <script>
8 -import {formatNum} from '../utils/formatNum'  
9 9
10 export default { 10 export default {
11 name: 'total', 11 name: 'total',
@@ -14,7 +14,7 @@ export default { @@ -14,7 +14,7 @@ export default {
14 }, 14 },
15 data() { 15 data() {
16 return { 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,4 +26,8 @@ export default {
26 height: 40px; 26 height: 40px;
27 color: #fff; 27 color: #fff;
28 } 28 }
  29 +
  30 + .titlebg {
  31 + background: #f00;
  32 + }
29 </style> 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,6 +4,13 @@ import Vue from &#39;vue&#39;
4 import App from './App' 4 import App from './App'
5 import './mock/mock' 5 import './mock/mock'
6 import '@/styles/reset.css'/*引入重置样式*/ 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 Vue.config.productionTip = false 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 var newStr = ""; 20 var newStr = "";
3 var count = 0; 21 var count = 0;
4 for (var i = str.length - 1; i >= 0; i--) { 22 for (var i = str.length - 1; i >= 0; i--) {
@@ -11,6 +29,9 @@ export function formatNum(str) { @@ -11,6 +29,9 @@ export function formatNum(str) {
11 count++; 29 count++;
12 } 30 }
13 str = newStr; 31 str = newStr;
  32 + str = str.split('')
14 return str; 33 return str;
15 34
16 } 35 }
  36 +
  37 +export default {formatNumArr}