0
点赞
收藏
分享

微信扫一扫

2022年记录(Vue)

云岭逸人 2022-03-11 阅读 51


1.子组件调用父组件的方法,并返回值

// 父组件
getdata(bounds, callback){
callback(data)
}
// 子组件
let data = {}
this.$emit("getdata", bounds, val => {
data = val
})
return data

2.Number类型转金额类型

//方法1
function numberFormat(number, decimals, dec_point, thousands_sep){
number = (number + "").replace(/[^0-9+-Ee.]/g, "");
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),//转换成绝对值
sep = typeof thousands_sep === "undefined" ? "," : thousands_sep,
dec = typeof dec_point === "undefined" ? "." : dec_point,
s = "",
toFixedFix = function(n, prec) {
var k = Math.pow(10, prec);
return "" + Math.floor(n * k) / k;
};
s = (prec ? toFixedFix(n, prec) : "" + Math.floor(n)).split(".");
var re = /(-?\d+)(\d{3})/;
console.log(s);
while (re.test(s[0])) {
s[0] = s[0].replace(re, "$1" + sep + "$2");
}

if ((s[1] || "").length < prec) {
s[1] = s[1] || "";
s[1] += new Array(prec - s[1].length + 1).join("0");
}
return s.join(dec);
}
//方法2
function numberFormat(value, decimals=2){
const digitsRE = /(\d{3})(?=\d)/g;
value = parseFloat(value);
if (!value && value !== 0) return '';
const stringified = Math.abs(value).toFixed(decimals);
const $int = decimals ? stringified.slice(0, -1 - decimals) : stringified;
const i = $int.length % 3;
const head = i > 0 ? ($int.slice(0, i) + ($int.length > 3 ? ',' : '')) : '';
const $float = decimals ? stringified.slice(-1 - decimals) : '';
const sign = value < 0 ? '-' : '';
return `${sign}${head}${$int.slice(i).replace(digitsRE, '$1,')}${$float} `;
}
举报

相关推荐

0 条评论