简单介绍

分发Vue组件中的可复用功能。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。(简单的来说就是两个组件合并为一个组件,A混入B形成了全新的组件C)

单纯组件引用:父组件+子组件 => 父组件 + 子组件
        混入mixins:父组件+子组件 => new 父组件(data、methods等方法合并,相当于扩充了父组件的各种属性)
        注意:在使用mixins时,父子组件同时拥有子组件的各种属性方法,但是他们不会共享处理变量,除了合并,没有任何通信。

选项合并

(1) 钩子函数合并:同名钩子函数将混合为一个数组,因此都将被调用。但是混入对象的钩子函数在组件自身钩子函数之前调用。

const myMixins = {created() {console.log('hello myMixins');}
}const app = Vue.createApp({mixins: [myMixins],created() {console.log('hello myApp');}}).mount('#app');// 先后输出:hello myMixins  hello myApp

(2) 数据对象合并:data选项中同名数据对象会进行递归合并,并在发生冲突时以组件数据优先。

const myMixins = {data() {return {message: 'hello myMixins',foo: 'aaa'}}
}const app = Vue.createApp({mixins: [myMixins],data() {return {message: 'hello app',bar: 'bbb'}}
}).mount('#app');// 输出data为:{ message: "hello app", foo: "aaa", bar: "bbb" }

(3) 当值为对象的选项,比如methods、components、directives,将被合并为同一个对象。两个对象键名冲突,取组件对象的键值对

const myMixins = {methods: {foo() {console.log('mixins');}}
}const app = Vue.createApp({mixins: [myMixins],methods: {foo() {console.log('app self');}}
}).mount('#app');app.foo() // app self

局部混入

在相应文件夹建立mixins.js文件,里面写公共复用代码,然后在组件中直接引入设置mixins

全局混入

app.mixins 使用要格外小心,一旦使用全局混入,将影响每一个之后创建的组件

vue-混入mixins相关推荐

  1. Vue混入mixins

    Vue官网上介绍: 混入(mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项. 虽然平 ...

  2. Vue混入mixins,让你减少一半代码

    混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能. 一个混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被"混合"进入该组 ...

  3. vue中mixins的使用方法和注意地方

    一.什么是Mixins? mixins(混入),官方的描述是一种分发 Vue 组件中可复用功能的非常灵活的方式,mixins是一个js对象,它可以包含我们组件中script项中的任意功能选项,如dat ...

  4. vue 混入对象_特性和混入不是面向对象的

    vue 混入对象 让我立刻说,我们将在这里讨论的功能是那些迫切需要进行放线手术的人带给面向对象编程的纯粹的毒药 ,就像David West在他的< Object Thinking>一书中所 ...

  5. vue 中 mixins 的使用

    本文同步发布在:vue 中 mixins 的使用 mixins(混入)就是定义了一部分公共的方法.计算属性或者钩子函数等 vue 组件中的可复用功能,然后混合进各个组件中使用.下面我们具体来看看怎么使 ...

  6. 【Vue】Vue中mixins的使用方法及实际项目应用详解

    文章目录 (1)mixin基础 (2)mixin特点 1.选项合并 2.方法和参数在各组件中不共享 (3)mixin与vuex的区别 (4)mixin与公共组件的区别 (5)项目实践 (6)总结 (1 ...

  7. Element组件引发的Vue中mixins使用,写出高复用组件

    我们都知道 Vue 采用的是一种组件化开发模式,组件在 Vue 中一个非常重要的核心概念.每个组件都是一个完整的实例,组件的创建,组件间的通讯,组件如何更好的复用,以及整个的生命周期的钩子.所以你会发 ...

  8. vue中Mixins 与 Hoc

    什么是mixins 在官方文档中 混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被混入该组件本身 ...

  9. vue中mixins的使用方法

    参考官网以及网上的一些资料,最基本的用法 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能.一个混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项 ...

  10. Vue之mixins

    混入 (mixins): 是一种分发 Vue 组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项. (通俗:当A面使用了a ...

最新文章

  1. A Simple Math Problem
  2. swf获取当前页面的路径
  3. 【51Nod - 1344】走格子 (思维)
  4. [Hnoi2013]消毒
  5. arial字体可以商用吗_【工作总结】莫让字体版权引火上身
  6. BZOJ3489 A simple rmq problem 【可持久化树套树】*
  7. nmake错误:VC\bin\cl.EXE: 返回代码“0xc0000135“
  8. Django复习:模型与管理网站
  9. QTP学习笔记----2013.04.25
  10. 应用程序正在为首次使用计算机做准备
  11. readonly和disabled的区别
  12. button点击事件不响应的解决方法(子视图大小超过父视图)
  13. NVIDIA:构建加速计算生态,推动深度学习应用落地
  14. Proteus8.9 下载与安装教程
  15. 50道CSS基础面试题(附答案)
  16. 黄永成-thinkphp讲解-个人博客讲解26集
  17. 分布式数据库BLP安全模型介绍
  18. java math 三角函数_Java中的三角函数
  19. php中eregi,php – 函数eregi()已弃用
  20. 【机器学习】Python中随机森林的实现与解释

热门文章

  1. 【MySQL】varbinary 真的比varchar 更合适
  2. 直播APP搭建好之后,该如何运营呢
  3. C语言#define的用法,C语言宏定义
  4. shopify开发经验
  5. 用Python实现喷墨打印机定期清洗喷头
  6. 【移动安全高级篇】————5、Andorid APK反逆向解决方案---梆梆加固原理探寻
  7. Java-Collection的子接口-List集合
  8. Containers feature is disabled. Enable it using the PowerShell script (in an administrative PowerShe
  9. LY68L6400SLIT 编带
  10. 【企业架构】企业架构师的战略角色