vue js 全局函数方法 module.exports exports

定义butil.js

/**
	* @获取字符串字节长度
	* @param {String} str
	* @returns
*/

function getStrLen (str) {
	let len = 0;
	for (let i = 0; i < str.length; i++) {
		let currLen = str.charCodeAt(i);
		if (currLen >= 0 && currLen <= 128) {
			len += 1;
		} else {
			len += 2;
		}
	}
	return len;
}


/**
* @截取指定长度的字符串,超出部分显示指定字符
* @param {*} name
* @param {number} [len=8]
* @param {string} [endStr="..."]
* @returns
*/

export function cutOffStr (name, len = 8, endStr = "...") {
	// 小于等于指定长度
	if (getStrLen(name) <= len) return name;

	// 超出指定长度
	let formatName = '';
	let strLen = 0;
	for (let i = 0; i < name.length; i++) {
		strLen += getStrLen(name[i]);
		if (strLen <= len) {
			formatName += name[i];
		} else {
			break;
		}
	}
	return formatName + endStr;
}

在vue里

#引用

import {cutOffStr} from '@/utils/butil.js'


#在代码里使用

cutOffStr(srcStr)

如果在vue里直接使用

<u-th>{{cutOffStr(item.user_nick, 10)}}</u-th>

会报错

Error in render: "TypeError: _vm.cutOffStr is not a function"

需要在methon里再声明一下

methods: {
	cutOffStr,
}

JS模块的导出和导入之export和module.export的区别 - 简书

一文彻底弄明白module.exports和exports的区别__cris的博客-CSDN博客_module.exports和exports的区别

vue中export default function 和 export function 的区别_阿长长啊的博客-CSDN博客

vue中不能直接在html中使用import的js方法问题(个人笔记) - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值