Commit 9a83dd61da15e29129a4a3058ef55eb6c7078807
1 parent
841f35d2
全局注册util方法
Showing
4 changed files
with
70 additions
and
4 deletions
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 'vue' | @@ -4,6 +4,13 @@ import Vue from 'vue' | ||
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} |