饥人谷技术博客

Vue中mixins基本用法

2021-11-25  本文已影响0人  飞天小猪_pig

当项目重复出现一些相似的功能,我们就需要重复去使用相同代码段(data,method,watch、mounted等),这样会导致我们代码显得非常冗余并提高了维护难度,因为Vue官方提供了Mixins特性供我们使用。

一、创建mixins
在src目录下创建一个mixins文件夹,文件夹下新建一个TagHelper.ts文件(文件名随便)。mixins其实是一个js对象,应该以对象的形式来定义TagHelper,并在对象中我们可以和vue组件一样来定义重新代码段并通过export导出该对象

import Vue from 'vue'
import {Component} from 'vue-property-decorator'

@Component
export class TagHelper extends Vue{
  createTag(){    //这部分内容就是重复代码段
    ...
    }
    ...
}

二、使用mixins

<template>
 <div>
     /*这里用到了createTag方法实际是用mixins里面createTag函数*/
       <button class="createTag" @click="createTag">   
        新增标签</button>
 </div>
</template>

<script lang="ts">
import {Component} from 'vue-property-decorator';
import {mixins} from 'vue-class-component';  //引入mixins
import {TagHelper} from '@/mixins/TagHelper';  //引入mixins里面文件

@Component()
export default class Labels extends mixins(TagHelper){ 
  //这里用的不是Vue而是mixins(导入组件名)
}
</script>

注意几点:
1、需要从Vue导入mixins: import {mixins} from 'vue-class-component';
2、需要从minxin文件导入组件路径: import {TagHelper} from '@/mixins/TagHelper';
3、正常写Vue组件导出是export default class Labels extends Vue{ },使用到mixins组件这里改成export default class Labels extends mixins(TagHelper){ }

上一篇 下一篇

猜你喜欢

热点阅读