vue的mixin的使用

对一个项目中很多会重复使用到的函数我们可以使用到vue的mixin(混入),这样就不需要在多个页面中重复的书写相同的代码

1.定义一个mixin

// mixin.js
const mixin = {
  data() {
    return {
      hello: 'hello Mixin'
    }
  },
  created() {
    console.log('在mixin中vue的data、生命周期、方法等都可以使用');
  },
  methods: {
    hello() {
      console.log(this.hello);
    }
  }
}
export default mixin;

使用mixin

// 1. 局部使用
import mixin from '@/mixin/mixin';
<script>
export default {
  mixins: [mixin]
}
</script>
// 2.全局使用 main.js
import mixin from '@/mixin/mixin';
Vue.Mixin(mixin)

注意
1.在mixin中写的所有的数据,方法以及生命周期钩子,如果当前组件中已经含有了,那么就会合并起来
2.如果键值对的值重复了,就会以组件内的值为准,如components
3.如果是data数据,会被进行递归合并,如果发生冲突时,就会使用组件内的数据
4.混入时发生了冲突的话,vue会依照就近原则进行处理数据

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件...
    _hider阅读 20,250评论 0 10
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,270评论 0 25
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,241评论 0 6
  • 简书的markdown编译器不好用,看原文"vue-unicom"的作者:szpoppy,如果觉得对你有用,请一定...
    _wim阅读 1,554评论 1 4
  • 详细内容可以到vue官方文档查看 指令 指令 (Directives) 是带有 v- 前缀的特殊特性。指令特性的值...
    漫若浮光z阅读 4,882评论 0 1