Vue3.0写自定义指令的简单步骤记录
Vue3.0写自定义指令的简单步骤记录
前言
vue中提供了丰富的内置指令,如v-if,v-bind,v-on......,除此之外我们还可以通过Vue.directive({})或者directives:{}来定义指令
在开始学习之前我们应该理解,自定义指令的应用场景,任何功能的开发都是为了解决具体的问题的,
通过自定义指令,我们可以对DOM进行更多的底层操作,这样不仅可以在某些场景下为我们提供快速解决问题的思路,而且让我们对vue的底层有了进一步的了解
第一步
在main.js
在src下简历对应的文件夹
import Directives from "@/Directives/index";// 自定义指令(@ 代表src) const app = createApp(App); app.use(Directives); app.mount("#app");
第二步
import copy from "./copy"; // 引入需要的指令 const directivesList = { copy // 挂载 }; const directives = { install: function (app) { Object.keys(directivesList).forEach((key) => { app.directive(key, directivesList[key]); // 注册 }); } }; export default directives;// 抛出
第三步
在copy.js 写入我们的指令内容 Vue2 与Vue3只是一些生命周期函数修改
import { ElMessage } from "element-plus"; const copy = { mounted (el, { value }) { el.$value = value; el.handler = () => { if (!el.$value) { // 值为空的时候,给出提示 ElMessage.warning({ message: "您好,复制的值不能为空。", type: "warning" }); return; } if (window.clipboardData) { window.clipboardData.setData("text", el.$value); } else { (function (content) { document.oncopy = function (e) { e.clipboardData.setData("text", content); e.preventDefault(); document.oncopy = null; }; })(el.$value); document.execCommand("Copy"); } ElMessage.success("复制成功"); }; // 绑定点击事件 el.addEventListener("click", el.handler); }, beforeUpdate (el, { value }) { el.$value = value; }, unmounted (el) { el.removeEventListener("click", el.handler); } }; export default copy;
总结
到此这篇关于Vue3.0写自定义指令的文章就介绍到这了,更多相关Vue3.0自定义指令内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!
推荐阅读
为啥娃在学校总被人霸凌呢
到了晚年养儿和养女谁更值得托付呢
孩子免疫力差怎么办
小女孩越漂亮越好吗
有几个家长常做的动作会摧毁娃的自尊自信
邮寄成绩单,是否可行
孩子厌学怎么提升兴趣(孩子厌学怎么办)
2024年重点高校招生三大专项计划是什么
首次全面修订学位法审议通过,将于什么时候开始实施
宝宝发脾气时家长怎么处理
为啥娃在学校总被人霸凌呢
到了晚年养儿和养女谁更值得托付呢
孩子免疫力差怎么办
小女孩越漂亮越好吗
有几个家长常做的动作会摧毁娃的自尊自信
邮寄成绩单,是否可行
孩子厌学怎么提升兴趣(孩子厌学怎么办)
2024年重点高校招生三大专项计划是什么
首次全面修订学位法审议通过,将于什么时候开始实施
宝宝发脾气时家长怎么处理
为啥娃在学校总被人霸凌呢
到了晚年养儿和养女谁更值得托付呢
孩子免疫力差怎么办
小女孩越漂亮越好吗
有几个家长常做的动作会摧毁娃的自尊自信
邮寄成绩单,是否可行
孩子厌学怎么提升兴趣(孩子厌学怎么办)
2024年重点高校招生三大专项计划是什么
首次全面修订学位法审议通过,将于什么时候开始实施
宝宝发脾气时家长怎么处理