一、 介绍

vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用。

index.vue与mixin.js中的数据,计算属性,方法等将进行合并;

如果两者有相同的数据,index.vue文件将覆盖前者;

生命周期钩子入mounted之类的内容两者将都会执行,同名的生命周期钩子,mixin.js中的内容将先执行;

index.vue和mixin.js中的数据可以任意方式组合使用,但是为了提高封装性,请尽量避免在mixin.js中使用index.vue的数据或方法,可以在mixin.js中设置默认值,在index.vue中重写mixin.js中的内容;

index.vue可以引入多个mixin。

二、 使用

mixin.js

export default {

data () {

return {

data1: 'mixin1',

data2: 'mixin2'

}

},

computed: {

computed1 () {

return this.data1 + this.data2

},

computed2 () {

return this.data1 + this.data3

}

},

mounted () {

console.log('mixin中的mounted')

},

methods: {

handleMethod1 () {

console.log(

`mixin中的方法1,

data1:${this.data1},

computed1:${this.computed1}`

)

},

handleMethod2 () {

console.log(

`mixin中的方法2,

data2:${this.data2},

computed2:${this.computed2}`

)

}

}

}

index.vue

// 引入mixin

import Mixin from './mixin.js'

export default {

// 使用,放入一个数组

mixins: [Mixin],

data () {

return {

data1: 'index1',

data3: 'index3'

}

},

computed: {

computed1 () {

return this.data1 + this.data2

},

computed3 () {

return this.data2 + this.data3

}

},

mounted () {

console.log('组件中的mounted')

this.handleMethod1()

this.handleMethod2()

this.handleMethod3()

},

methods: {

handleMethod1 () {

console.log(

`组件中的方法1,

data1:${this.data1},

computed1:${this.computed1}`

)

},

handleMethod3 () {

console.log(

`组件中的方法3,

data3:${this.data3},

computed3:${this.computed3}`

)

}

}

}

执行结果

mixin中的mounted

组件中的mounted

组件中的方法1,data1:index1,computed1:index1mixin2

mixin中的方法2,data2:mixin2,computed2:index1index3

组件中的方法3,data3:index3,computed3:mixin2index3

mixin机制 vue_Vue Mixin用法相关推荐

  1. mixin机制 vue_Vue 的 Mixin 设计是糟粕吗?

    修改一下这个问题 关于 mixin,是一种很常见的「组合」方案,它非常简单,也非常常用--比如 vue 基于对象的组合,比如 react 是基于 class 的组合--组合的优点是自由简单,缺点是容易 ...

  2. mixin机制 vue_vue mixins组件复用的几种方式(小结)

    最近在做项目的时候,研究了mixins,此功能有妙处.用的时候有这样一个场景,页面的风格不同,但是执行的方法,和需要的数据非常的相似.我们是否要写两种组件呢?还是保留一个并且然后另个一并兼容另一个呢? ...

  3. mixin机制 vue_谈谈vue中mixin的一点理解

    谈谈vue中mixin的一点理解 vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用.最开始我一度认为这个和组件好像没啥区别..后来发现错了.下面我们来看看mixins和普通情 ...

  4. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  5. python类加载机制_PHP面向对象自动加载机制原理与用法分析

    本文实例讲述了PHP面向对象自动加载机制原理与用法.分享给大家供大家参考,具体如下: 在学习PHP的面向对象的时候,会知道很多"语法糖",也就是魔术方法.有一个加自动加载的魔术方法 ...

  6. 什么是Mixin?如何使用Mixin 定义mixin

    一.什么是Mixin? Mixins(混入):当我们存在多个组件中的逻辑或者配置(数据或者功能很相近),我们就可以利用mixins将公共部分提取出来,通过 mixins封装的函数,且组件调用他们是不会 ...

  7. mixin机制 vue_读?VuePress(四)插件机制

    前言 从 9 月份开始,vuepress 源码进行了重新设计和拆分.先是开了个 next 分支,后来又合并到 master 分支,为即将发布的 1.x 版本做准备. 最主要的变化是:大部分的全局功能都 ...

  8. mixin network_基于Mixin Network的Go语言比特币开发教程 : 用 Mixin Messenger 机器人接受和发送比特币...

    基于Mixin Network的Go语言比特币开发教程 : 用 Mixin Messenger 机器人接受和发送比特币 在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"H ...

  9. mixin network_基于Mixin Network的PHP比特币开发教程: 机器人接受比特币并立即退还用户...

    在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"Hello,World!"时,机器人会自动回复同一条消息! 按本篇教程后学习后完成后,你的机器人将会接受用户发送 ...

最新文章

  1. struts2中 ServletActionContext与ActionContext区别
  2. spring核心文件配置头
  3. oracle用dba登陆怎么登,以SQLDBA身份登录isqlplus
  4. 六大赚钱定律,让你赚大钱
  5. 关于报错stale element reference: element is not attach
  6. 浏览器User-Agent的详细信息
  7. 5-8 离散点检测(改进版无error)
  8. Linux C学习--getline()函数
  9. 图像影音型计算机主板选择什么,电脑主板型号在哪里看? 每日一答
  10. 栈的链式存储结构及实现
  11. Django实现web端tailf日志文件
  12. linux wifi驱动开发 二,Linux 下wifi 驱动开发(二)—— WiFi模块浅析
  13. Unity获取Android手机的RAM和剩余RAM和ROM
  14. 120篇精华文章打包送,干货慎入!
  15. Linux下tomcat重启
  16. STM32写FLASH期间导致中断无法响应的解决思路
  17. Calling brew cask install is disabled! Use brew install [--cask] instead
  18. 歌剧小杂文3:瓦格纳-颠覆歌剧的无冕之王
  19. 云端之争,混合云再胜一筹
  20. 异常:Handling ClientRegistrationException error: No client with requested id: null

热门文章

  1. 如何实现 Kubernetes 的弹性伸缩:优化核心组件
  2. 信雅纳|2.4TbE网络压测平台,基于400G PAM4的7速网络测试解决方案
  3. idea安装easy-api插件生成yapi文档
  4. CSS盒子模型与背景图片
  5. postfix cyrus-sasl身份验证
  6. Windows系统如何多开微信
  7. PCL学习九:Registration-配准
  8. CS镜头和C镜头有什么区别?
  9. c语言如何同时操作多个io,C语言怎么用OVERLAPPED进行重叠IO操作?
  10. 威胁情报分析_第一站