vue中mixins的用法以及属性/方法/钩子函数优先级

1,362 阅读1分钟

对于一些在多个页面都会用到的方法和功能可以写在mixins中,之后每次用到只要简单的引入mixin文件到用到的页面即可实现复用。 mixin文件的定义与正常vue组件的定义完全一致,都有 created,mounted...等钩子函数,以及data,methods方法用来声明当前用到的数据和方法 使用时在需要的页面通过 mixins属性引入

export default {
  mixins: [mixin, timeRecord],
  components: {},
  data() {}
  }

引入后mixin文件中定义的方法属性都会复制到引入到的组建的对应位置,比如方法复制到methods中,定义的字段会复制到data中,以此类推,各个钩子函数都会匹配到组件对应的钩子函数中 比较需要注意的是mixin文件中定义字段/方法/钩子函数与引入到组件相应方法/字段/钩子函数的优先级顺序 主要分下面几种情况: 1.对于created,mounted 等生命周期函数 mixin文件中的代码先执行,组件中的后执行 2.对于data中定义的字段,组件中定义组件覆盖mixin中同名字段 3.对于 method中的同名方法,组件内的同名方法覆盖mixin中的方法 如有错误欢迎评论区指正