js 高阶(含vue.js)

本文介绍了Vue中如何主动触发函数watchOrdersFormPrice进行数据更新,复制文本的方法(包括处理换行符),获取原始data,以及使用qrcode.min.js生成二维码和处理字符转Unicode、Unicode转字符的技术,最后展示了如何用正则表达式移除字符串末尾的逗号。
摘要由CSDN通过智能技术生成

1、主动触发函数

this.$options.watch.watchOrdersFormPrice.apply(this);//主动触发watchOrdersFormPrice

watch:{
        watchOrdersFormPrice: function(){
            if( !this.ordersForm.alone_sold_price && this.ordersForm.ginfo.goods_id ){
                var price_info = this.ordersForm.ginfo.price_info;
                if( this.ordersForm.ginfo.open_flags & (1<<3) ){//规格
                    var sku_txt_list = this.ordersForm.spec_radios.map(v=>`${v.name}||${v.val}`).join(',');
                    price_info = this.ordersForm.ginfo.spec_sku_list.find(v=>v.sku_txt_list===sku_txt_list) || price_info;
                }
                this.ordersForm.price = (price_info.price / 1000).toFixed(2);
                this.ordersForm.sold_price = (price_info.suggest_price / 1000).toFixed(2);
            }
        },

2、复制

copy1(value) {//不可复制换行符
                const input = document.createElement('input');
                input.setAttribute('readonly', 'readonly');
                input.value = value;
                document.body.appendChild(input);
                input.setSelectionRange(0, 9999);
                input.select();
                document.execCommand('copy');
                document.body.removeChild(input);
                this.$message.success({message:'复制成功!'});
            },
 copy2(value) {
                // 可复制换行符
                window.navigator.clipboard
                    .writeText(value)
                    .then(() => {
                        this.$message.success({message:'复制成功!'});
                    })
                    .catch(() => {
                        this.$message.error({message:'复制失败,请手动复制!'});
                    });
}

3、vue获取原始data

this.$options.data().form

4、后台生成二维码

第一步:引入qrcode.min.js

第二步:

this.qrcode_div = this.qrcode_div || document.createElement('div');
						var qr = new QRCode( this.qrcode_div, {
							text: res.data.data.back_url,
							width: 300,
							height: 300,
							correctLevel: QRCode.CorrectLevel.H//容错率,L/M/H
						});
						this.previewImageUrl = qr._oDrawing._elCanvas.toDataURL();
						this.qrcode_div.innerHTML = '';//清除信息

5、字符转Unicode(16进制)


'爱'.charCodeAt(0).toString(16)
结果:'7231'
charCodeAt返回码点
转16进制
\u 转义字符用来表示 Unicode 编码
于是
'\u7231'代表的就是爱(把16进制转成字符)

6、Unicode 转字符

String.fromCharCode(parseInt(7231, 16));

 

7、正则去除字符串最后一个逗号

 

let str = 'xxsdasd,sdasd,sdasd,'
var reg = /,$/gi
str = str.replace(reg, '') //去除最后一个,号

JS去掉字符串末尾的标点符号及删除最后一个字符的方法 - Python技术站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值