首页 > 其他分享 >Vue组件和插件

Vue组件和插件

时间:2022-10-16 21:36:52浏览次数:55  
标签:Toast 插件 Vue instance vue 组件

两者的区别

  • 组件注册通过“Vue.component”或“components”属性,而插件通过“Vue.use()”;
  • 组件是用来构成App的业务模块,它的目标是“App.vue”,而插件是用来增强技术栈的功能模块,它的目标是Vue本身

组件

  • 创建一个组件.vue文件
  • 在App.vue文件中导入组件
import TabsCom from "@/components/TabsCom.vue";
  • 注册组件
export default {
  components: {
    TabsCom,
  },
};
  • 使用组件
<template>
  <div id="app">
    <router-view class="pages has-tabs"></router-view>
    <tabs-com class="tabs"></tabs-com>//<TabsCom></TabsCom>也可以
  </div>
</template>

插件

  • 插件(Plugins)是一种能为Vue添加全局功能的工具代码。
  • 创建一个插件
<template>
<div class="toast" v-if="msg">
  {{ msg }}
</div>
</template>
<script>
export default {
data() {
  return {
    msg: "",
  };
},
methods: {
  show(str = "加载中...") {
    this.msg = str;
    setTimeout(() => this.hide(), 2000);
  },
  hide() {
    this.msg = "";
  },
},
};
</script>
<style scoped>
.toast {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
padding: 15px;
border-radius: 4px;
color: #fff;
background-color: rgba(0, 0, 0, 0.4);
z-index: 100000;
}
<style>
  • 插件是一个对象,必须实现install办法
  • 插件需要在vue文件中使用Vue.use(插件)
    • 插件方法 Vue.extent(.vue)继承.vue文件的构造函数
    • install.$mount(dom)手动挂载
    • instance.$el实例的真实dom
    • Vue.protoytpe.$toast=Toast 将插件挂载到全局(所有的组件都将拥有插件的方法和属性)
index.js
import ToastVue from './ToastCom.vue'
var Toast = {}
Toast.install = function (Vue) {
   var ToastCom = Vue.extend(ToastVue);
   var instance = new ToastCom();
   instance.$mount(document.createElement("div"));
   document.body.appendChild(instance.$el);

   Toast.show = instance.show;
   Toast.hide = instance.hide;
   Vue.prototype.$toast = Toast;
}
export default Toast



main.js
import Toast from '.ugin/Toast/index.js'
import Notify from '.ugin/Notify/index.js'
Vue.use(Toast)
Vue.use(Notify)

标签:Toast,插件,Vue,instance,vue,组件
From: https://www.cnblogs.com/aureazjl/p/16797232.html

相关文章

  • 第一章 Vue基础入门
    文章目录​​引言​​​​1.快速入门​​​​1.1.创建项目​​​​1.2.模型和视图​​​​1.3.双向数据绑定​​​​2.{{}}-插值​​​​2.1.语法​​​​2.2.案例​​​......
  • SpringCloud的Eureka组件
    SpringCloud的Eureka组件1.*Eureka概述1.*.&Eureka是什么Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层......
  • Vue事件不带参数和带一个参数
    <script>exportdefault{ data(){  return{   message:0,   put1:'www.96net.com.cn',  } }, methods:{  dianji(p){   ......
  • Vue事件对象如何调用
    <script>exportdefault{ data(){  return{   message:0,   put1:'www.96net.com.cn',  } }, methods:{  dianji(e){   ......
  • Vue2全家桶
    Vue2全家桶1.Vue.js是什么?1).一位华裔前Google工程师(尤雨溪)开发的前端js库2).作用:动态构建用户界面3).特点:*遵循MVVM模式*编码简洁,体积小,......
  • 解决Vue打印带有echarts的pdf问题
    智能中医项目中开发一个打印报告,报告里有患者的基本信息、病况和echarts展示的一些图表,解决了一下午终于解决。彩色打印效果如下:总体效果还是不错,汇总一下处理方法。修......
  • vue3 解析markdwon生成文章
    引言​​markdown​​是啥,相信大家都已经清楚了,一种程序员必备的文档格式。可以支持代码高亮,表格,图片,视频等一种文档格式......
  • vue 的常用指令以及作用 ·
    1、v-model多用于表单元素实现双向数据绑定(同angular中的ng-model)2、v-for格式:v-for="字段名in(of)数组json"循环数组或json(同angular中的ng-repeat),需......
  • 文章的评论 和 评论的恢复组件
    封装请求接口:get提交的query数据放在params里面(或者放在url?后面)/***文章评论*功能1:获取文章的评论*======》typea评论类型,a-对文章(article)的评......
  • Vue脚手架基本配置
    Vue脚手架可以快速生成Vue项目基础的架构。A.安装3.x版本的Vue脚手架:npminstall-g@vue/clivue-V查看版本号基于3.x版本的脚手架创建Vue项目:三种方式1)......