vue2_mix混入的用法

简介: vue2_mix混入的用法

@[TOC]

背景

多个vue文件出现大量重复的函数和生命周期处理时使用mix混入

minx混入

当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
vue2官网案例

// 定义一个混入对象
var myMixin = {
   
   
  created: function () {
   
   
    this.hello()
  },
  methods: {
   
   
    hello: function () {
   
   
      console.log('hello from mixin!')
    }
  }
}

// 定义一个使用混入对象的组件
var Component = Vue.extend({
   
   
  mixins: [myMixin]
})

var component = new Component() // => "hello from mixin!"

查看vue2的mixins来源
options api
image.png

可以混入vueComponent的组件
image.png

image.png

可见mininx混入的类型为一个vue的类型

使用

1.定义了一个mix.js

声明 mixName变量和mixFunc的函数

export default {
   
   
  data () {
   
   
    return {
   
   
      mixName: 'yma16'
    }
  },
  methods: {
   
   
    mixFunc () {
   
   
      console.log('mix的作用域 this', this)
      this.$message.info('mix的mixFunc方法')
    }
  }
}

2. 定义一个组件混入mix

mixins混入定义的mix组件

<template>
  <div class="container">
    <h1>{
   
   {
   
    msg }}</h1>
    <el-divider>mix</el-divider>
    <el-button @click="say">
     当前组件的say方法
    </el-button>
    <el-divider>mix</el-divider>
    <el-button @click="mixFunc">
     mix的方法
    </el-button>
  </div>
</template>

<script>
import mix from './mix'
export default {
   
   
  name: 'StudyMix',
  mixins: [mix],
  data () {
   
   
    return {
   
   
      msg: 'mix 混入'
    }
  },
  methods: {
   
   
    say () {
   
   
      console.log('当前组件的作用域 this', this)
      this.$message.info('组件的say方法')
    }
  }
}
</script>

mix的同享组件作用域this相同

对比组件和混入的this
image.png

验证node的tag一样
image.png

this打印的值相同

使用场景

举个我工作中实际应用到的场景

  1. 表格是使用比较多的,可以提取表格的打印和获取选中行的方法到mix
  2. 文件下载的方法封装到一个mix去调用

注意点:mix中调用的变量要确保在组件中存在,使用不熟练很容易出现undefined命名冲突的错误

结尾

感谢阅读,如有问题,欢迎指正!

目录
相关文章
|
6月前
第14节:Vue3 简化用法<script setup>
第14节:Vue3 简化用法<script setup>
52 0
|
JavaScript 前端开发 索引
28Vue - 列表渲染(基本用法)
28Vue - 列表渲染(基本用法)
46 0
|
JavaScript
vue中 v-for循环的用法详解
vue中 v-for循环的用法详解
218 0
vue中 v-for循环的用法详解
|
6月前
|
JavaScript API UED
|
6月前
|
JavaScript
Vue中的v-bind指令的用法有哪些?
Vue中的v-bind指令的用法有哪些?
181 37
|
6月前
|
JavaScript 前端开发 API
Vue3 组合式 API 的特性、用法和最佳实践
Vue3 组合式 API 的特性、用法和最佳实践
277 1
|
6月前
|
移动开发 JavaScript 安全
技术博客:Vue中各种混淆用法汇总
技术博客:Vue中各种混淆用法汇总
110 0
|
6月前
Vue3的reactive、ref、toRef、toRefs用法以及区别
Vue3的reactive、ref、toRef、toRefs用法以及区别
104 0
|
6月前
|
缓存 JavaScript 前端开发
技术博客:Vue中各种混淆用法汇总
技术博客:Vue中各种混淆用法汇总
72 0
|
6月前
|
缓存 JavaScript API
最新,Vue 改进了响应式 API 中 getter 的用法!
最新,Vue 改进了响应式 API 中 getter 的用法!