vue的 Mixins (混入)

组件

<template>
  <div>
    <div>{{val}}</div>
    <el-button type="success" @click="getClick">点击</el-button>
  </div>
</template>
<script>
import mixins from '@/mixins/mixins'
export default {
  mixins:[mixins],
  data(){
    return {
      val:'组件中的data值优先'
    }
  },
  created(){
    console.log('组件里的created后执行');

    console.log(this.val);
  },
  methods:{
    getClick(){
      console.log('方法组件')
    }
  }
}
</script>

 

mixins文件


export default { data() { return{ val:'mixins值' } }, components:{ }, created(){ console.log('mixins中的created先执行') console.log(this.val) }, methods:{ getClick(){ console.log('方法mixins优先点击成功') } } }

 

当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。

一、数据对象内  (data里的数据)

mixin的数据对象和组件的数据发生冲突时以组件数据优先。

 

二、钩子函数 (created,mounted)

同名钩子函数将会混合为一个数组,都将被调用到,但是混入对象的钩子将在组件自身钩子之前调用。

 

三、值为对象的选项

值为对象的选项,例如 methodscomponents 和 directives,将被混合为同一个对象。两个对象键名冲突时,取组件对象的键值对。(调用组件的方法)

 

 

转:https://segmentfault.com/a/1190000015698391

posted @ 2021-03-31 20:28  炽橙子  阅读(326)  评论(0编辑  收藏  举报