tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • 组件

  • 过渡&动画

  • 可复用性&组合

    • Mixin混入
      • 作用
      • 本质
        • 快速使用
      • 混入类型
        • 局部混入
        • 全局混入
  • 工具

  • 规模化

  • Vuex

  • 其他

  • 《Vue》笔记
  • 可复用性&组合
EffectTang
2023-09-18
目录

Mixin混入

# Mixin混入

# 作用

可以将多个组件公用的配置提取成一个混入对象,用来分发Vue组件中的可复用的功能。

在引入组件(js文件)之后,将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并,相当于在引入后,父组件的各种属性方法都被扩充了。

提示

定义共用的变量,引入组件中之后,与原组件发生冲突时(变量名相同时),以原组件数据优先(选择原组件的变量或属性,混入不破坏原有组件只是扩充)。

不过生命周期方法,mounted除外,当都存在时,效果为叠加。

# 本质

mixin本质就是一个JS对象,可以包含组件中的任意功能选项,如data、components、methods、creaded、computed以及生命周期函数等等,当组件使用mixins对象时所有mixins对象的对象都将被混入该组件本身的选项中来。

使用方法:

  1. 定义混合
  2. 使用混合

# 快速使用

以下是一个简单的例子:

// 定义一个混入对象
export const myMixin = {
  data() {
    return {
      message: 'Hello mixin!'
    };
  },
  methods: {
    sayHello() {
      console.log(this.message);
    }
  }
};

1
2
3
4
5
6
7
8
9
10
11
12
13
14

在组件中使用通过在options中指定mixins属性,将混入对象应用到组件中

mixins:[xx,....]
1
<template>
  ....
</template>

<script>
	import {myMinxin} from ‘../mx’;
  
  export default {
    name:'Demo',
    dataL(){
      return{
      	name:'san'
   	 }
    },
    mixins:[myMinxin],
    created() {
      this.sayHello(); // 输出 "Hello  mixin!"
    }
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

在上面的例子中,定义了一个名为myMixin的混入对象,它包含了一个data属性和一个methods对象。data属性定义了一个名为message的共享数据,methods对象包含了一个名为sayHello的方法,

在Vue组件中,可以通过在options中指定mixins属性,将混入对象应用到组件中。并在created钩子函数中,调用了sayHello方法,输出了共享数据。

# 混入类型

vue中的混入分为局部混入和全局混入。 局部混入是指通过在组件选项中添加mixins属性,将混入对象作为参数传入;全局混入则需要通过Vue.mixin()方法进行注册

# 局部混入

上文中的例子就是局部混入。

# 全局混入

在使用全局混入时要格外小心!一旦使用全局混入,它将影响每一个之后创建的 Vue 实例 (包括第三方组件)。

import .....
// 全局混入
Vue.mixin(myMixin);
1
2
3

更多详细讲解请善用官网+搜索

官网混入 (opens new window)

mixins-api (opens new window)

上次更新: 2025/04/23, 16:23:16
transition-group列表过渡
Vue CLi v3 创建项目使用记录

← transition-group列表过渡 Vue CLi v3 创建项目使用记录→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式