热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue基本组件/插件开发

一、组件和插件的区别vue插件可以将自己的模块添加到Vue原型对象上,然后组件中可以通过this直接引用。还要就是通过插件机制,可以通过一个入口
一、组件和插件的区别

  1. vue插件可以将自己的模块添加到Vue原型对象上,然后组件中可以通过this直接引用。还要就是通过插件机制,可以通过一个入口,就可以将一系列组件添加到环境中,直接使用
  2. 插件是采用通用接口编写的,多用于制作好的东西功能扩展。
  3. vue组件只是一个独立的模块,可重复使用并且可以和其他对象进行交互的对象
  4. 插件通常会为 Vue 添加全局功能。插件的范围没有限制——一般有下面几种:
    添加全局方法或者属性,如: vue-custom-element
    添加全局资源:指令/过滤器/过渡等,如 vue-touch
    通过全局 mixin 方法添加一些组件选项,如: vue-router
    添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实现。
    一个库,提供自己的 API,同时提供上面提到的一个或多个功能,如 vue-router
    Vue.js 的插件应当有一个公开方法 install 。
  5. 如果你的模块或者组件想对外公开,最友好的方式就是通过插件机制提供

二、简单构建一个全局组件Message(消息提示)

1.组件模板

/* components/Message/index.vue */
<template>
<div class="ta-message" v-if="isShow">
<span>{{message}}span>
div>
template>
<script>
export default {
name: &#39;Message&#39;,
data () {
return {
}
},
props:{
message: {
type: String,
default: &#39;成功&#39;
},
isShow: {
type: Boolean,
default: true
}
},
methods:{
close(){
this.isShow = false;
}
}
}
script>






2.给组件添加全局功能(插件)

插件开发链接:https://cn.vuejs.org/v2/guide/plugins.html

/* components/Message/index.js */
import msg from &#39;./index.vue&#39;;

//定义插件对象
const Message = {};
//Vue的install方法,用于定义vue插件
Message.install = function(Vue, options){
const MessageInstance = Vue.extend(msg);
let currentMsg;
const initInstance = () =>{
//实例化vue示例
currentMsg = new MessageInstance();
let msgEl = currentMsg.$mount().$el;
document.body.appendChild(msgEl);
};
//在Vue的原型上添加实例,以全局调用
Vue.prototype.$msg = {
showMsg(options){
if(!currentMsg){
initInstance();
}
Object.assign(currentMsg, options); //将页面的对象传给currentMsg对象,否则阿会使用原有的
setTimeout(() => {
currentMsg.close();
}, 1000);
}
}
};
export default Message;





3.全局使用

// main.js
import Message from &#39;./components/Message/index&#39;
Vue.use(Message);





4.页面调用

showconfirm(){
this.$msg.showMsg({
isShow: true
});
}
























推荐阅读
  • Webpack 初探:Import 和 Require 的使用
    本文介绍了 Webpack 中 Import 和 Require 的基本概念和使用方法,帮助读者更好地理解和应用模块化开发。 ... [详细]
  • 优化Vite 1.0至2.0升级过程中遇到的某些代码块过大问题解决方案
    本文详细探讨了在将项目从 Vite 1.0 升级到 2.0 的过程中,如何解决某些代码块过大的问题。通过具体的编码示例,文章提供了全面的解决方案,帮助开发者有效优化打包性能。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 如何在任意浏览器中轻松安装并使用VSCode——Codeserver简易指南
    code-server 是一款强大的工具,允许用户在任何服务器上部署 VSCode,并通过浏览器进行访问和使用。这一解决方案不仅简化了开发环境的搭建过程,还提供了高度灵活的工作方式。用户只需访问 GitHub 上的官方仓库(GitHub-coder/code-server),即可获取详细的安装和配置指南,快速启动并运行 code-server。无论是个人开发者还是团队协作,code-server 都能提供高效、便捷的代码编辑体验。 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 使用 Vuex 管理表单状态:当输入框失去焦点时自动恢复初始值 ... [详细]
  • 本文介绍了 Vue 开发的入门指南,重点讲解了开发环境的配置与项目的基本搭建。推荐使用 WebStorm 作为 IDE,其下载地址为 。安装时请选择适合您操作系统的版本,并通过 获取激活码。WebStorm 是前端开发者的理想选择,提供了丰富的功能和强大的代码编辑能力。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
author-avatar
刘刘刘刘刘志锋_506
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有