除夕一梦

vuePress-theme-reco 林除夕    2022
除夕一梦

Choose mode

  • dark
  • auto
  • light
home
Category
  • B-前端杂谈
  • C-JavaScript
  • E-H5C3
  • F-vue
  • G-思考
  • H-项目记录
  • I-学习笔记
  • Y-有趣
  • z-hexo
Tag
About
TimeLine
Contact
  • github
  • gitee
  • 知乎
author-avatar

林除夕

25

Article

35

Tag

home
Category
  • B-前端杂谈
  • C-JavaScript
  • E-H5C3
  • F-vue
  • G-思考
  • H-项目记录
  • I-学习笔记
  • Y-有趣
  • z-hexo
Tag
About
TimeLine
Contact
  • github
  • gitee
  • 知乎

Vue2 + TS 中使用mixin方式

vuePress-theme-reco 林除夕    2022

Vue2 + TS 中使用mixin方式

林除夕 2021-09-16 10:37:02 前端vue2TypeScript

# mixin文件

// 表格相关的mixin
import { Component, Vue } from 'vue-property-decorator'

// 必须声明是什么类型的 不然无法进行混入 原则上@Component只能混入@Component
@Component
export default class TableMixin extends Vue {
  // 要混入的方法必须是public的 不能是static的 不然无法找到
  formatterCellval(row, column, cellValue, index): string | number {
    if (!cellValue) {
      return '-'
    }
    return cellValue
  }
}

# 引入并混入

import { Component, Vue } from 'vue-property-decorator'
import TableMixin from '@/mixins/table'

// 在这里进行混入
@Component({
  mixins: [TableMixin]
})
export default class Area extends Vue {
    // 你的代码内容
}

# 注意事项

  1. 属性可以混入(包括私有)
  2. 函数可以混入(只能是public的)
  3. 同名属性无法混入,会报错
  4. 混入文件必须为ts文件