DDR爱好者之家 Design By 杰米
首先先给出官网 https://vuejs.org/v2/guide/mixins.html
今天在开发项目的时候要改变一个标签的属性,因为项目中有多个地方都要改(业务逻辑相同),所以就看有没办法只改变一个地方,把方法加进去,最后找官网就发现这个属性。
下面是我的-mixin.js 文件
import {mapGetters, mapMutations, mapActions} from 'vuex' export const playlistMixin = { computed: { ...mapGetters([ 'playList' ]) }, mounted() { this.handlePlaylist(this.playList) }, activated() { this.handlePlaylist(this.playList) }, watch: { playList(newVal) { this.handlePlaylist(newVal) } }, methods: { handlePlaylist() { throw new Error('component must implement handlePlaylist method') } } }
这个文件就暴露出一个对象,不过这个对象和组件很类似,也就是组件的js代码部分类似。
这个.js文件要做的事情就是,在生命周期中和playList 变量改变的时候触发handlePlaylist 函数,但是这个函数的逻辑是在各自要改变的组件当中去实现。下面看看怎么用Mixin。
import {playlistMixin} from 'common/js/mixin' //引入Mixin export default { mixins: [playlistMixin], methods: { handlePlaylist (playlist) { let bottom = playlist.length > 0 ? '60px' : '' this.$refs.recommend.style.bottom = bottom this.$refs.scroll.refresh() }, } }
在使用的组件中这样调用。
mixins: 这个属性是个数组,也就是说可以加载多个 minxin 文件。
handlePlaylist 方法是完成业务逻辑。所以在组件的生命周期中都会添加 this.handlePlaylist() 方法。
这样就可以减少一部分代码。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年04月24日
2024年04月24日
- 《百英雄传》M站均分78:值得一试的复古佳作
- 麻园诗人.2022-闭上眼睛的声音【博山娱乐】【FLAC分轨】
- 任贤齐.1997-很受伤【滚石】【WAV+CUE】
- 群星.1998-还珠格格·苍天有泪琼瑶大卖连续剧全纪录EP【上华】【WAV+CUE】
- dnf燃烧疲劳值什么意思
- dnf男大枪110版本装备搭配
- dnf畅玩任务系统的限定任务
- 《恶意不息》沃里克打法技巧
- 《恶意不息》属性点数作用介绍
- 《消逝的光芒2》1.16版本更新汇总
- 刘德丽《赤的疑惑HQCD》头版限量编号MQA[低速原抓WAV+CUE]
- 冯满天《弦歌满天·山上》阮月原创作品集[低速原抓WAV+CUE]
- 老虎鱼《EvenSantaGetsTheBlues圣诞老人也蓝调》iso
- 艾什莉体模COS《原神》角色:猫娘绮良良
- 《星刃》全球过审未删减 网友调侃日本审核制度