vue的mixins属性详解


Posted in Javascript onMarch 14, 2018

首先先给出官网 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() 方法。

这样就可以减少一部分代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript delete 引用类型对象
Nov 01 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
写给小白的JavaScript引擎指南
Dec 04 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
Angular的$http的ajax的请求操作(推荐)
Jan 10 Javascript
es6学习之解构时应该注意的点
Aug 29 Javascript
react项目如何使用iconfont的方法步骤
Mar 13 Javascript
Vue中用JSON实现刷新界面不影响倒计时
Oct 26 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 #Javascript
react中fetch之cors跨域请求的实现方法
Mar 14 #Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 #Javascript
create-react-app构建项目慢的解决方法
Mar 14 #Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
Mar 14 #Javascript
react以create-react-app为基础创建项目
Mar 14 #Javascript
200行代码实现blockchain 区块链实例详解
Mar 14 #Javascript
You might like
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
分享php邮件管理器源码
2016/01/06 PHP
PHP如何使用Memcached
2016/04/05 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
PHP7 其他修改
2021/03/09 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python3操作mysql数据库的方法
2017/06/23 Python
Selenium定位元素操作示例
2018/08/10 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
实例介绍Python中整型
2019/02/11 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
python切割图片的示例
2020/11/12 Python
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
采购文员岗位职责
2013/11/20 职场文书
求职意向书
2014/04/01 职场文书
统计专业自荐书
2014/07/06 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
师德先进个人材料
2014/12/20 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书