13. mixins

2022-10-12 16:18:15发布
40

mixins作用

分发vue组件中可复用功能的灵活方式。混入对象可以包含任意组件选项。组件使用混入对象时,所有混入对象的选项将混入该组件本身的选项。

例子:

base.js( 把需要复用的功能写在一个文件里)

const base = {
  data(){
    return {
      message : {
        name : 'TOM',
        age : '18岁',
        address : '广东省深圳市宝安区',
      }
    }
  },
  computed: {
    getAddress(){
      return this.message.address;
    }
  },
  filters:{
    lowercase(e){
      return e.toLowerCase();
    }
  },
  methods: {
    getAge(){
      return this.message.age;
    }
  }
};
 
export default base;

index.vue

<template>
  <div>
    <p>{{getAddress}}</p>
    <p>{{message.name | lowercase}}</p>
    <p>{{getAge()}}</p>
  </div>
</template>
<script>
import base from '@/mixins/base'
export default {
  mixins: [base]
}
</script>

在其它vue页面,如果想用到复用的功能,则只需要:

1. import base from '@/mixins/base'

2. mixins: [base]


注意点

1、若mixins中的data数据,与组件中的数据冲突时,以组件数据优先。
2、同名钩子函数:混合为一个数组,都将被调用,混入对象钩子先调用。
3、值为对象选项:methods,components,将被混合为同一个对象,两对象键名冲突时,取组件对象的键值对。