vue mixins是什么及应用
mixins是什么?
官网对此的解释比较文绉绉,通俗的理解很简单,就是提供功能抽象
如A,B,C 。。。Z等很多个页面用到同一个功能,此时的做法就应该把该功能抽象出来,mixins就是干这个的
当然,如果这个功能一个函数就能解决,就没必要这么干了,单独建个文件,专门放一些公用函数就行,mixins能干的比这大多了
上案例:
项目开发中,多个页面要查询数据详情,接口是一样的,但请求参数的不同返回结果也会不同,抽象该功能是最好的方法,以下是代码,具体接口请自行替换
import { fetchMemberReportDetail } from '@/api/memberReport'
export default {
methods: {
memberReportDetail(queryObj, cb) {
fetchMemberReportDetail(queryObj).then(res => {
if(parseInt(res.status) === 200 && parseInt(res.data.error_code) === 0) {
cb && cb.call(this, res.data.data)
}else{
this.$message.error(res.data.error_msg)
}
}).catch(res => {
this.$message.error('网络异常,请稍后再试')
})
}
}
}
应用:
import memberReportDetail from '@/mixins/memberReport'
export default {
name: "hdDetail",
mixins: [memberReportDetail],
data() {
return {
companyName: '',
memberType: ''
}
},
created() {
this.getMemberReportDetail()
},
methods: {
getMemberReportDetail() {
// 根据需要自行设置查询参数
const queryObj = {}
this.memberReportDetail(queryObj, this.setData)
},
setData(data) {
// 根据返回的数据接口自行设置
this.companyName = data.companyName
this.memberType = data.memberType
}
}
}
总结:
mixins适用于带有组件功能性质的抽象,组件具有的钩子函数,属性,它全有,而且组件还可以根据自身需要重写mixins方法
vue mixins是什么及应用的更多相关文章
- Vue mixins(混入)
建立一个公共组件,然后对该组件进行混入继承. 注意会走两个生命周期,谨慎使用 mixins混入,相当于生成new 组件:组件引用,相当与在父组件内开辟了一块单独的空间 mixins适用于,两个有非常相 ...
- _ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
_ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
- VUE mixins(混入)
mixins是在引入组件之后 将组件内部的内容如data等方法.method等属性与父组件相应内容进行合并 相当于在引入后 父组件的各种属性方法都被扩充了. 单纯组件引用: 父组件 ...
- vue mixins的使用
官网传送 刚开始接触vue的时候,官网关于mixins的例子看了好几遍,发现还是不会用,包括vuex也是后来慢慢理解一点的,不过和vuex比起来.mixns还是很好理解,简单很多了 就我目前理解mix ...
- Vue mixins extends extend components
mixins 调用方式: mixins: [mixin1, mixin2] 是对父组件的扩充,包括methods.components.directive等... 触发钩子函数时,先调用mixins的 ...
- vue mixins应用场景
学习知识得在应用场景中去应用,这样才能真正学到东西,记忆也深刻,以后碰到类似的东西就会了. 1.在assets文件夹下创建一个js文件 // 创建一个需要混入的对象 export const mixi ...
- 十、vue mixins 的用法
vue中mixins个人理解就是定义一些公用的比较常用的方法,类似我们vue中将一些常用的组件也会抽离出来做成一个公共组件一样,只不过vue中mixins是定义的是法或者计算属性,然后将其混入(合并) ...
- Vue mixins extend
const mixins = { created () { console.log('mixins created') } } const mixins2 = { created () { conso ...
- Vue Mixin 与微信小程序 Mixins 应用
什么是Mixin(混入) Mixin是一种思想,用来实现代码高度可复用性,可以针对属性复制实现代码复用的想法进行一个扩展,就是混入(mixin).混入并不是复制一个完整的对象,而是从多个对象中复制出任 ...
随机推荐
- Mysql:设置主键自动增长起始值
比较郁闷昨天在家使用‘alter table `tablename` AUTO_INCREMENT=10000;’怎么也不起效,但是今天下班时间公司一同事尝试了一下就可以了.搞不明白自己当时是怎么操作 ...
- sudoku 心得 视觉消除法(Visual Elimination)
虽然我是程序员,但这里只介绍人类的思维方法. 这个方法我是从这里看到的: https://www.learn-sudoku.com/visual-elimination.html Most peopl ...
- Java事务以及嵌套事务
知识点:java事务属性 Propagation取值: REQUIRED(默认值):在有transaction状态下执行:如当前没有transaction,则创建新的transaction: SUPP ...
- Eclipse中SpringBoot项目POM文件报UnKnown的解决方案
在项目中使用spring-boot-starter-parent的2.1.5.RELEASE版本时发现会出现POM错误(Unknown),其实这错误可以无视,但如果你实在看不下去可以在POM中添加如下 ...
- UltraISO安装windows10时0x8007000D错误解决办法
进入安装界面之后提示错误:windows无法打开所需的文件 F:\Sources\install.wim.请确保安装所需的所有文件可用,并重新启动安装.错误代码:0x8007000D 原因: 肯定是i ...
- 【转载】 tf.cond() ----------------------(tensorflow 条件判断语句 if.......else....... )
原文地址: https://cloud.tencent.com/developer/article/1486441 ------------------------------------------ ...
- asp.net core mvc 里的application中的start,end等事件
我们以前在用asp.net mvc或者webform的时候,经常用用到Application里的事件 start,end等.我们在.net core 里也同样有类似的方法. 在Startup类里,Co ...
- 2019 GDD TensorFlow
https://www.tensorflow.org/ https://tensorflow.google.cn/ (中文站点) 现场PPT照片: https://pan.baidu.c ...
- 为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢?
没有考虑到具体的问题上面,我们单纯的来讲: 为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢? list == null 说明list没有初始化( ...
- 【Spring Cloud学习之三】负载均衡
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 Spring Cloud 1.2 主流的负载均衡技术有nginx.LVS.HAproxy.F5,Spring Clou ...