Vue中mixin的使用和插件的使用

  • mixin(混入)

  • 当多个组件的方法、数据相同时。可以统一调用mixin。mixin用于保存组件们共同拥有的方法和数据。

  • 第一个组件和第二个组件有相同的method。用mixin.js进行封装

  • //------------------------第一个组件------------------------------
    <template><div><h2 @click="showName">姓名:{{ name }}</h2><h2>地址:{{ address }}</h2></div>
    </template>
    <script>
    import { mixin } from './mixin';
    export default {name: 'useSelect',data() {return {name: '猴哥',address: '花果山'}},mixins:[mixin]
    }
    </script>

  • 当第二个组件和mixin.js文件都设置了x,y属性。先调用组件的x,y。如果组件没有设置x,y属性,则调用mixin.js文件中的x,y

  • mounted()生命周期钩子,如果组件和mixin.js文件都设置mounted。两个的mounted都调用。不存在谁先谁后

  • //--------------------------第二个组件--------------------------------
    <template><div><h2 @click="showName">学生姓名:{{ name }}</h2><h2>学生性别:{{ sex }}</h2><h2>{{ x }}{{ y }}</h2></div>
    </template>
    ​
    <script>
    // 导入mixin.js文件
    import { mixin,minxin2 } from './mixin';
    export default {data(){return {name:'张三',sex: '男',// 如果这里也有x,y那么用这里的x,y。没有则用mixin2中的x,y但生命周期钩子。不以谁为主,两边都写则都使用x: '3',y: '4'}},// 像props那样接收mixins:[mixin,mixin2]
    }
    </script>

  • 将mixin.js文件进行暴露

  • export const mixin = {methods: {showName() {console.log(this.name);}}
    }
    export const minxin2 = {data(){return {x:100,y:300}}
    }
    /* 当导出的方法只有一个时用默认导出const mixin = {methods: {showName() {console.log(this.name);}}}export default minxin */
  • 全局配置mixin

  • 需要在vm中导入mixin.js

  • import Vue from 'vue'
    import App from './App'
    import {mixin,mixin2} from './components/mixin'
    Vue.mixin(mixin)
    Vue.mixin(mixin2)
    ​
    new Vue({el: '#app',router,render: h => h(App)
    })
     

插件

  • 插件的作用是为组件加buff

  • 下面定义了一个plugins.js的文件作为插件

  • export default {// install(){}为成功设置插件install(){// 全局过滤器Vue.filter('upDatetime', function (value) {return value.slice(0, 4);})// 全局v-fbind的自定义指令Vue.directive('fbing', {bing(element, bangding) {element.value = bangding.value},inserted(element, bangding) {element.focus()},update(element, bangding) {element.value = bangding.value},})//给Vue原型上添加一个方法(vm和vc就能用了)Vue.prototype.hello = () => {alert('我时hello方法')}}
    }
  • 在main.js中引入plugins.js插件

  • import Vue from 'vue'
    import App from './App'
    import plugins from './components/plugins'
    ​
    // 使用use来使用插件
    Vue.use(plugins)
    new Vue({el: '#app',render: h => h(App)
    })
    ​
  • 在School组件中使用插件提供的功能

  • <template><div><h2>学校的名字:{{ name | upDatetime }}</h2><button @click="test">点位测试以下hello方法</button></div>
    </template>
    ​
    <script>
    export default {data(){return {name: '小猴子的玩具商'}},methods:{test(){this.hello()}}
    }
    </script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RFC6749-OAuth2.0

前言 最近在项目中需要实现SSO(单点登录)功能,以实现一处注册,即可在任何平台之间登录的功能。我们项目中并没有直接对接第三方认证系统而是通过集成keycloak 完成一系类安全协议的对接工作。如果我们在代码级别自己完成各种安全协议的对接是一项十分大的工程。不仅要走统一的…

【Java】和面试官谈策略模式

你还在大篇幅的使用if…else吗&#xff1f; 举个例子&#xff1a;比如你们有一个订单系统&#xff0c;用户在平时下单和在双11的时候下单的时候逻辑是不一样的&#xff0c;可能双11下单就涉及到一些优惠之类的&#xff0c;这个时候你怎么做&#xff0c;应该有好多同学是这样做…

摄影-基础知识

光圈&#xff0c;快门&#xff0c;感光度决定了一张相片的受光程度 光圈 瞳孔 快门 约等于 眼皮(但是实际上并不是&#xff0c;更像镜头盖) 感光度 视网膜上的感光能力 光圈越大 景深越大&#xff0c;也就是画面越模糊 快门时间越短&#xff0c;越能抓住某个瞬间 快门时间…

如何在Linux系统中安装Redis

原本Redis官网提供了Windows和Linux两个版本&#xff0c;但从 2011-12-29 以后不再更新Windows版本&#xff08;https://github.com/dmajkic/redis/downloads&#xff09;&#xff0c;加之企业生产环境通常使用Linux系统&#xff0c;所以这里在Linux系统中演示如何安装Redis。 …

梳理Langchain-Chatchat-UI接口文档

在 Langchain-Chatchat v0.1.17 版本及以前是有前后端分离的 Vue 项目的&#xff0c;但是 v0.2.0 后就没有了。所以本文使用的是 Langchain-Chatchat v0.1.17 版本中的 Vue 项目。经过一番折腾终于将 Langchain-Chatchat v0.1.17 版本前端 Vue 接口和 Langchain-Chatchat v0.2.…

数据预处理:标准化和归一化

标准化和归一化简介 1、数据预处理概述2、数据标准化3、数据归一化4、标准化和归一化怎么选1、数据预处理概述 在选择了合适模型的前提下,机器学习可谓是“训练台上3分钟,数据数量和质量台下10年功”。数据的收集与准备是机器学习中的重要一步,是构建一个好的预测模型大厦的…

jenkins+pytest+allure

jenkinspytestallure allure下载地址 Releases allure-framework/allure2 GitHub allure环境变量配置 allure --version 查看版本(确定是否配置完成) python安装allure插件 pip install allure-pytest pytest的运行指令 pytest -sv test_demo.py 开发完毕后将代码上传到…

深入理解@Resource与@Autowired:用法与区别解析

Resource&#xff1a; Resource 是Java EE提供的注解&#xff0c;也可以在Spring中使用。它是按照名称进行注入的&#xff0c;默认通过属性名&#xff08;通常是类名的小驼峰命名方式&#xff09;或者name属性来匹配。如果找不到符合名称的bean&#xff0c;则会抛出异常。在使…

轻量应用服务器阿里云61元、腾讯云62元,你选哪个?

阿里云和腾讯云又降价了&#xff0c;刚刚说完阿里云87元和腾讯云88元&#xff0c;又降级了&#xff0c;阿里云2核2G3M轻量应用服务器61元一年&#xff0c;腾讯云轻量2核2G3M服务器62元一年&#xff0c;你选哪个&#xff1f;阿里云不限制月流量&#xff0c;腾讯云限制200GB月流量…

2024 年 9 款简单好用的 Windows 分区管理器软件

了解适用于 Windows 11 和 Windows 7 的 Windows 分区管理器的概念。本教程还列出了分区管理器软件&#xff1a; 购买新电脑&#xff1f;担心磁盘存储空间不足&#xff1f;你听说过分区吗&#xff1f;如果没有&#xff0c;这篇文章就是为你准备的。 在本文中&#xff0c;我们…

Linux:apache优化(7)—— 访问控制

作用&#xff1a;为apache服务提供的页面设置客户端访问权限&#xff0c;为某个组或者某个用户加密访问&#xff1b; /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/htpasswd tarro1 #添加admin用户&#xff0c;可以在两个路径中间添加-c是新建文件删除原文件&#…

SPI通信协议:串行外设接口的精髓

SPI通信协议&#xff1a;串行外设接口的精髓 SPI&#xff08;Serial Peripheral Interface&#xff09;通信协议是一种常见且广泛应用于串行通信的标准&#xff0c;特别适用于连接微控制器与外围设备。本文将深入介绍SPI通信协议的基本原理、工作方式、硬件连接、应用领域以及…

Linux系统驱动要如何学习

1.你将获得&#xff1a; 快速上手 Linux 操作系统&#xff1b; 掌握Linux 内核工作原理&#xff1b; 掌握Linux 内核调试手段&#xff1b; 掌握复杂驱动&#xff1a;USB、PCIE、V4L2等 这门课程旨在为你打开Linux内核驱动的大门&#xff0c;让你在探索Linux内核的旅程中获得前…

C++常用工具函数-1

1、转为16进制 unsigned long temp 16&#xff1b; std::cout<< "temp2"<<std::setbase(16)<< temp << std::endl; 2、数组转指针操作 unsigned char W[4*8*15]; // the expanded key unsigned int * Wb reinterpret_cast<unsigned…

QT的信号与槽

QT的信号与槽 文章目录 QT的信号与槽前言一、QT 打印"hello QT"的dome二、信号和槽机制&#xff1f;二、信号与槽的用法1、QT5的方式1. 无参的信号与槽的dome2.带参的信号与槽dome 2、QT4的方式3、C11的语法 Lambda表达式1、函数对象参数2、操作符重载函数参数3、可修…

LAYABOX:2024新年寄语

2024新年寄语 过去的一年&#xff0c;尽管许多行业面临严峻挑战和发展压力&#xff0c;小游戏领域却逆势上扬&#xff0c;年产值首次突破400亿元大关&#xff0c;众多优质小游戏企业收获颇丰。 对此&#xff0c;祝福大家&#xff0c;2024一定更好&#xff01; 过去的一年&#…

伺服电机的控制模式

一、伺服电机基本的控制模式 伺服电机的基本控制模式有位置模式、速度模式、转矩模式 二、位置模式 位置模式对速度和位置都有严格的控制&#xff0c;通过控制发送脉冲的频率&#xff0c;来确定电机的转动杆速度大小&#xff0c;通过控制发送脉冲的个数来确定转动的角度。位置…

CMake入门教程【基础篇】CMake编译平台

文章目录 简介Visual Studio支持示例 其他编译器和生成器支持MinGW示例 IDE集成Eclipse示例 实验性和特殊平台支持总结 简介 CMake是一个非常强大的跨平台自动化构建工具&#xff0c;它支持生成多种类型的项目文件&#xff0c;覆盖了广泛的开发环境和编译器。在这篇博客中&…

33--反射

1、反射(Reflection)的概念 1.1 反射的出现背景 Java程序中&#xff0c;所有的对象都有两种类型&#xff1a;编译时类型和运行时类型&#xff0c;而很多时候对象的编译时类型和运行时类型不一致。 Object obj new String("hello"); obj.getClass(); 例如&#xf…

【话题】ChatGPT等大语言模型为什么没有智能2

我们接着上一次的讨论&#xff0c;继续探索大模型的存在的问题。正巧CSDN最近在搞文章活动&#xff0c;我们来看看大模型“幻觉”。当然&#xff0c;本文可能有很多我自己的“幻觉”&#xff0c;欢迎批评指正。如果这么说的话&#xff0c;其实很容易得出一个小结论——大模型如…