什么是 mixins(混入)?

可以在不同组件中复用代码
混入对象可以使用组件的任何属性,当组件使用mixin时,这个mixins的所有信息将被混入该组件里。该组件可以直接访问, 相当于扩展了父组件的对象与方法。

举栗子:

  1. 项目有多个页面都有导出功能,在mixins写一个导出的公共方法,接收一个导出地址参数,在页面中调用即可。

    特点:

  2. 方法和参数在各组件中不共享

  3. 值为对象的选项(methods、components …)中,mixins里的属性与组件中的属性命名冲突,mixins的会被组件的覆盖,最终使用的是组件里的
  4. 值为函数的选项(created、mounted …)中,mixins的钩子函数优先于组件的钩子函数,同一个钩子函数里,会优先使用mixins的,再使用组件的

    与vuex的区别

    vuex:定义的变量和方法,供每个组件使用和修改,在任一组件中修改数据,其他组件中的数据也会随之修改

mixins:定义的变量和方法,供所有组件使用,引入组件中的,数据是独立的,值的修改在组件中互不影响

在页面中调用

  1. 导入mixin文件, 通过 mixins[‘文件名’] 使用
    1. <script>
    2. import MixinItem from './mixin'
    3. export default {
    4. mixins: [ MixinItem ]
    5. }
    6. </script>