mixins 混入 用法详解

最近在开发一个页面量比较大的自动化管理系统,发现几乎每个页面都有搜索项,表格数据,以及分页,这导致很多页面都可能重复定义相同的方法和变量名,感觉很冗余,vue提供的mixins 属性可以完美的解决这个问题。

不用mixins的写法,每个页面重复定义相同变量及方法
 export default {
data(){
retrun{
pageSize:'', //每页数据量
total:"",//总数据量
tableData:"",//表格数据
searchValue:{},//搜索参数
}
},
methods:{
    // 改变页码
    pageChange(e) {
      this.page = e - 1
      this.init()
    },
    // 改变每页显示数
    sizeChange(e) {
      this.page = 0
      this.size = e
      this.init()
    },
}
}

使用mixins  只需要将上述代码放到js文件中。做一以下操作就能达到目的,mixins可以保证变量及方法在每个中文件引入都是相互独立互不影响的。并且js每个属性下的方法和变量,都会自动混入到页面对应的方法及属性下。如果mixins对象中有组件中的同名属性或方法,那么组件中的属性或方法优先级更高。

import mixinsObj  from '....'
export default {
mixins:[mixinsObj]
}

mixins优点:减少代码重复的数量

缺点:

1.如果一次引入多个mixins对象,会引起命名冲突。

2.难以追踪来源

避免过渡使用mixins

过渡使用mixins会使代码的复杂性增加,使代码难以维护和理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值