vue中mixins的使用方法

mixins就是定义一部分公共的方法或者计算属性,然后混入到各个组件中使用,方便管理与统一修改
因项目需要全局隐藏钉钉导航,故创建ddhide.js 文件

1.在common文件夹下创建一个ddhide.js文件

import * as dd from 'dingtalk-jsapi'
// 创建一个需要混入的对象ddhide 
export const ddhide = {
	data(){
		return{
			
		}
	},
	created(){
		if (dd.env.platform !== "notInDingTalk") {
		    dd.biz.navigation.hideBar({
		        hidden: true, // true:隐藏,false:显示
		        onSuccess: function(result) {},
		        onFail: function(err) {}
		    })
		}
	}
}

2.把混入对象混入到当前的组件中

import {ddhide} from '@/common/js/ddhide.js'
export default {
		mixins: [ddhide]
		}

mixins的特点
(1) 、值参数在各组件中不共享
混入对象里的值不会随着组件中的值改变而改变
(2)、值为方法的选项,如methods,components等,选项会被合并,键冲突时,组件中的对象会覆盖混入对象中的方法。
(3)、值为函数的选项,如created,mounted等,会被合并调用,混合对象里的钩子函数在组件里的钩子函数之前调用

3、与vuex的区别

vuex:用来做状态管理的,里面定义的变量在每个组件中均可使用和修改,在任一组件中修改此变量的值之后,其他组件中此变量的值也会随之修改。

Mixins:可以定义共用的变量,在每个组件中使用,引入组件中之后,各个变量是相互独立的,值的修改在组件中不会相互影响。

4、与公共组件的区别

公共组件:在父组件中引入组件,相当于在父组件中给出一片独立的空间供子组件使用,然后根据props来传值,但本质上两者是相对独立的。

Mixins:则是在引入组件之后与组件中的对象和方法进行合并,相当于扩展了父组件的对象与方法,可以理解为形成了一个新的组件。

参考文章:https://www.cnblogs.com/Ivy-s/p/9937173.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值