Vue mixin实现组件功能复用示例详解

 更新时间:2023年10月26日 10:15:09   作者:张旭超  
这篇文章主要为大家介绍了Vue mixin实现组件功能复用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Vue mixin

Vue中的mixin,是来分发Vue组件中的可复用功能。

1、方法和数据在各个组件中不共享

不像vuex那样,一个地方修改其他地方也会修改,mixin的数据的作用域就是被引入的组件内部。

2、引用组件中的钩子函数在混入对象中的钩子函数后面执行。

3、引用组件中的同名方法会覆盖混入对象中的方法,不同名的会合并。

案例分析

HelloWorld.vue

<template>
  <div class="hello">
    <div v-for="(item, index) in mixinData" :key="index">
      姓名:{{item.name}}, 年龄:{{item.age}}
    </div>
  </div>
</template>
<script>
import CommonMethods from '../mixin/CommonMethods.vue'
export default {
  name: 'HelloWorld',
  mixins: [CommonMethods],
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  mounted () {
    // 1、引用组件中的钩子函数在混入对象中的钩子函数后面执行。
    this.mixinData = [
      { name: '初始化数据', age: 10 }
    ]
    // 2、引用组件中的同名方法会覆盖混入对象中的方法,不同名的会合并。
    this.mixinGetData()
  },
  methods: {
    mixinGetData () {
      this.mixinData = []
      return []
    }
  }
}
</script>

CommonMethods.vue

<script>
export default {
  name: 'mixinMethods',
  data () {
    return {
      mixinData: []
    }
  },
  mounted () {
    this.mixinData = [
      { name: '初始化数据', age: 0 }
    ]
  },
  methods: {
    mixinGetData () {
      let data = [
        { name: 'zxc', age: 32 },
        { name: 'lvy', age: 27 }
      ]
      this.mixinData = data
      return data
    }
  }
}
</script>

以上就是Vue mixin实现组件功能复用的详细内容,更多关于Vue mixin组件复用的资料请关注脚本之家其它相关文章!

相关文章

  • Vue Canvas实现电子签名

    Vue Canvas实现电子签名

    这篇文章主要为大家详细介绍了Vue Canvas实现电子签名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • vue项目使用md5加密、crypto-js加密、国密sm3及国密sm4的方法

    vue项目使用md5加密、crypto-js加密、国密sm3及国密sm4的方法

    密码或者其他比较重要东西假如使用明文传输中是很危险的,所以就需要前端一些加密协议,对密码、手机号、身份证号等信息进行保护,下面这篇文章主要给大家介绍了关于vue项目中使用md5加密、crypto-js加密、国密sm3及国密sm4的相关资料,需要的朋友可以参考下
    2022-12-12
  • 15 分钟掌握vue-next函数式api(小结)

    15 分钟掌握vue-next函数式api(小结)

    这篇文章主要介绍了15 分钟掌握vue-next函数式api(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • vue2.0父子组件及非父子组件之间的通信方法

    vue2.0父子组件及非父子组件之间的通信方法

    这篇文章给大家介绍了vue2.0父子组件及非父子组件之间的通信方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-01-01
  • vue以组件或者插件的形式实现throttle或者debounce

    vue以组件或者插件的形式实现throttle或者debounce

    这篇文章主要介绍了vue以组件或者插件的形式实现throttle或者debounce,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 详解vue-validator(vue验证器)

    详解vue-validator(vue验证器)

    本篇文章主要介绍了vue-validator(vue验证器),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • vue-router路由懒加载及实现的3种方式

    vue-router路由懒加载及实现的3种方式

    这篇文章主要给大家介绍了关于vue-router路由懒加载及实现的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • webpack+vue.js实现组件化详解

    webpack+vue.js实现组件化详解

    vue的开发体验还是比较愉悦的。首先文档非常友好,所以上手会比较快。其次,配合webpack和vue-loader,每个页面都是一个.vue文件,写起来很方便。所以很适合做组件化开发,这篇文章我们就来一起看看webpack+vue.js如何实现组件化。
    2016-10-10
  • 简单理解vue中track-by属性

    简单理解vue中track-by属性

    这篇文章主要帮助大家简单的理解vue中track-by属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 如何封装Vue Element的table表格组件

    如何封装Vue Element的table表格组件

    这篇文章主要介绍了如何封装Vue Element的table表格组件,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-02-02

最新评论