一段VUE代码:通过组件封装全局方法、自定义指令和注册组件
index.js
// 插件定义第一种方式,对象:拥有 install() 方法的对象
const myPlugin = {
install(app, options) {
// 配置全局方法
app.config.globalProperties.globalMethod = function (value) {
return value.toLowerCase();
};
// 注册全局组件
app.component('Header', Header);
// 注册全局指令
app.directive('upper', function (el, binding) {
// 通过指令参数判断调用插件的options可选参数
el.textContent = binding.value.toUpperCase();
if (binding.arg === 'small') {
el.style.fontSize = options.small + 'px';
} else if (binding.arg === 'medium') {
el.style.fontSize = options.medium + 'px';
} else {
el.style.fontSize = options.large + 'px';
}
});
}
}; /*
// 函数插件:另一种方法
const myPlugin = function (app, options) {
// 配置全局方法
app.config.globalProperties.globalMethod = function (value) {
return value.toLowerCase()
}
// 注册全局组件
app.component("Header", Header) // 注册全局指令
app.directive("upper", function (el, binding) {
// 通过指令参数判断调用插件的options可选参数
el.textContent = binding.value.toUpperCase()
if (binding.arg === "small") {
el.style.fontSize = options.small + "px"
} else if (binding.arg === "medium") {
el.style.fontSize = options.medium + "px"
} else {
el.style.fontSize = options.large + "px"
}
})
}
*/ export default myPlugin;
上面这个插件的用法:
import { createApp } from 'vue';
import App from './App.vue';
import myPlugins from './myPlugins' // 引入插件
const app = createApp(App);
// 安装插件
app.use(myPlugins, {
small: 12,
medium: 24,
large: 36,
});
app.mount('#app');
一段VUE代码:通过组件封装全局方法、自定义指令和注册组件的更多相关文章
- 假如你想在VUE的main.js里根据条件按需引入注册组件以及样式,那就这样子写,附赠自己写的vue一个框架配置多系统按需加载系统路由以及组件办法
假如你想在VUE的main.js里根据条件按需引入注册组件以及样式,那就这样子写 举例来说我想要引入大屏的一些组件,但是原来框架已经集成了多个项目,路由也是按需加载的,想要实现组件按需加载 先在mai ...
- 对 COM+ 组件进行了方法调用,但该组件有一个已被中止的或正在被中止的事务。 (异常来自 HRESULT:0x8004E003)
错误: 对 COM+ 组件进行了方法调用,但该组件有一个已被中止的或正在被中止的事务. (异常来自 HRESULT:0x8004E003) 解决办法: 程序连接的数据库换到本地. 具体原因没搞 ...
- vue+element UI + axios封装文件上传及进度条组件
1.前言 之前在做项目的时候,需要实现一个文件上传组件并且需要有文件上传进度条,现将之前的实现过程简单记录一下,希望可以帮助到有需要的人. 项目用的是Vue框架,UI库使用的是element UI,前 ...
- vue组件定义全局方法
1.在vue实例的data中定义一个对象 2.可以在其他组件定义方法 3.触发方法
- 使用Vue自定义指令实现Select组件
完成的效果图如下: 一.首先,我们简单布局一下: <template> <div class="select"> <div class="i ...
- Vue.js 第2章 钩子函数&自定义指令&过滤器&计算属性&侦听器
目标 钩子函数 自定义指令 自定义过滤器 计算属性 监听属性 局部自定义指令 为什么需要自定义指令 为了复用,为了代码的灵活 指令的分类:全局指令,局部指令 在vm外面创建的指令 通过Vue.dire ...
- Vue.js(16)之 directive自定义指令
推荐阅读:Vue.directive基础,在Vue模块开发中使用 全局指令 Vue.directive('全局自定义指令名称', { /* 自定义指令配置对象 */ }) 私有指令 <templ ...
- 父组件调用子组件中的方法- this.$refs.xxx.子组件方法();
子组件中有一个说的方法 在父组件中去调用当你点击的时候 去调用子组件中的方法 fu.vue 在父组件的方法中调用子组件的方法,很重要 this.$refs.mychild.parentHandlecl ...
- svelte组件:svelte3.x自定义美化虚拟滚动条组件svelte-scrollbar
基于svelte3.0自定义pc端虚拟滚动条组件svelteScrollbar. svelte-scrollbar:运用svelte3.x创建的桌面pc版自定义美化滚动条组件.支持是否原生滚动条.自动 ...
- Selenium应用代码(常见封装的方法二)
滚动窗口: //将滚动条滚到适合的位置 , 方法一 public static void setScroll(WebDriver driver,int height){ try { // String ...
随机推荐
- Ubuntu sudo nopasswd方法
1 运行 visudo 2 假设用户名为yourname, 则在最后一行添加: # User privilege specificationroot ALL=(ALL:ALL) ALL# Member ...
- 鲲鹏cpu
cat /etc/openEuler-release sudo dmidecode -t processor |grep Version lscpu
- office文件所对应的的 Content-type类型总结
最近做文件下载因为涉及到不同类型的文件,所以重新查阅了一下文件所对应的的content-type类型,好记性不如烂笔头,记录一下. 文件后缀 MIME TYPE .doc application/ms ...
- DVWA靶场搭建及错误解决教程
前言 DVWA(Damn Vulnerable Web Application)靶场是一个旨在帮助安全人员和开发人员学习和提高网络安全技能的开源项目.它是一个故意存在多种安全漏洞的 PHP/MySQL ...
- Windows操作系统中,在某一目录下快速启动cmd窗口的方法
首先,在资源管理器中手动进入目标目录,之后在该目录下空白处,按住键盘shift键不放右击空白处弹出该窗口,点击在此处打开命令窗口.
- VS2010/MFC 获取当前程序路径的方法
第一种方法 DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LP ...
- OpenMMLab AI实战营 第二课笔记 计算机视觉之图像分类算法基础
OpenMMLab AI实战营 第二课笔记 目录 OpenMMLab AI实战营 第二课笔记 图像分类与基础视觉基础 1.图像分类问题 1.1 问题的数学表示 1.2 视觉任务的难点 1.2.1 超越 ...
- 零基础Windows Server搭建部署Word Press 博客系列教程(1):从萌新到菜鸡之云主机配置与备案
不知道这个教程能帮助到多少想要长期建站的新手朋友. 下面进入正题.如果你想搭建一个基于wordpress的个人博客或者网站,但是不懂Linux,也没有命令行的操作经验,更不懂复杂的代码,那么找这篇文章 ...
- CDS标准视图:功能位置可用标签 I_FUNCNLLOCALTERNATIVELABEL
视图名称:功能位置可用标签 I_FUNCNLLOCALTERNATIVELABEL 视图类型:基础 视图代码: 点击查看代码 @EndUserText.label: 'Functional Locat ...
- JIRA/Jira-cloud Rest API
官方参考: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ 记录部分有用的 获取用户: /rest/api/2/users/s ...