vue中mixin的使用

vue中mixin的使用详解

vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用。最开始我一度认为这个和组件好像没啥区别。。后来发现错了。下面我们来看看mixins和普通情况下引入组件有什么区别?

     组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立。

     而mixins则是在引入组件之后,则是将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并。相当于在引入后,父组件的各种属性方法都被扩充了。

     单纯组件引用:

          父组件 + 子组件 >>> 父组件 + 子组件

     mixins:

          父组件 + 子组件 >>> new父组件

作用:多个组件可以共享数据和方法,在使用mixin的组件中引入后,mixin中的方法和属性也就并入到该组件中,可以直接使用。钩子函数会两个都被调用,mixin中的钩子首先执行。

下面来介绍一下mixin的具体用法:

1.定义一个mixin.js文件

export const mixin = {
    data(){

    },
    methods: {
        getTableData(){
            this.getRequest({
                url: this.tableDataUrl,//直接使用页面中data中定义的数据
                params:this.tableDataPrams,
                success: result => {
                    this.tableData = result;
                    loading.close()
                },
                fail: err => {
                    console.log(err)
                }
            })
        }
    },
}

2.在vue文件中使用mixin

import mixin from '@/assets/js/mixinjs; // 引入mixin文件
export default {
 mixins: [mixin] //使用mixin
 data(){
    return{
    tableData: [],//表格数据
	tableDataPrams:{},
	id:"#table"
     }
  }
}

//页面中使用mixin中定义的方法
created:{
    this.getTableData()
}

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值