1.剪切板组件,复制文本:vue-clipboard3
npm install --save vue-clipboard3
import useClipboard from 'vue-clipboard3';
const { toClipboard } = useClipboard();
const copyPreviewPath = async (string) => {
try {
await toClipboard(string);
message.success("文件路径复制成功!");
} catch (e) {
console.error(e);
message.error("复制失败!您的浏览器不支持复制功能");
}
};
2.图片视口懒加载组件:vue3-lazy
npm install vue3-lazy -S
// 图片懒加载
export const lazyPlugin = {
install(app) {
// 自定义指令:
app.directive("img-lazy", {
mounted(el, binding) {
// el 指令绑定得那个元素 img
//bindding: binding.value 指令等于号后面绑定得表达式得值 这里指图片url地址
const { stop } = useIntersectionObserver(
el,
([{ isIntersecting }], observerElement) => {
if (isIntersecting) {
//图片进入视觉入口了
el.src = binding.value;
stop();
}
}
);
},
});
},
};
import { lazyPlugin } from "@/utils/use-lazy-data.js";
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net