uniapp中mixins的使用

mixins 是一个 js 对象,它可以包含我们组件中JS部分的任意功能选项,如:data、components、methods、created、computed 等等。我们只要将公用的功能以对象的方式传入 mixins 选项中,当组件使用 mixins 对象时所有 mixins 对象都将被混入该组件中。

一、创建mixins 页面

在项目根目录下创建mixins目录,放入一个 tabbar-badge.js

javascript 复制代码
import { mapGetters } from 'vuex'

export default {
	computed: {
		...mapGetters('m_cart', ['total'])
	},
	onShow() {
        // 第一次打开页面就显示 tabber 的上标
		this.setBadge()
	},
	methods: {
		setBadge() {
			uni.setTabBarBadge({
                //第三个tabber的上标
				index: 2,
                // tabber的上标只能是字符串
				text: this.total + ''
			})
		}
	}
}

二、在页面中引用 mixins

使用时只需要导入页面,然后挂载 mixins 为组件

javascript 复制代码
    import badgeMix from '@/mixins/tabbar-badge.js'
	export default {
		mixins: [badgeMix],
		data() {
			return {
			};
		}
    }

三、注意点

1、引用 mixins 的页面如果改变 mixins 的数据,只会在当前页面生效,不会影响到其它引用 mixins 的页面

2、值为对象(components、methods 、computed、data)时,如果当前页面和 mixins 存在同名,则页面中的(components、methods 、computed、data)覆盖 mixins 中相同的对象

3、值为钩子函数(created、mounted)时,则 mixins 中的钩子函数先调用,当前页面中后调用

4、当 mixins 里面包含异步请求函数,如果想在页面中获取结果,需要返回异步函数,不能只返回结果

四、和vuex的区别

vuex: 用来做状态管理的,里面定义的变量在每个组件中均可以使用和修改,修改变量会影响所有引用的组件
Mixins: 可以定义共用的变量,在每个组件中使用,引用组件中之后,各个变量是相互独立的,值的修改只影响当前组件,不会影响其它组件

相关推荐
2501_915909069 小时前
手机崩溃日志导出的工程化体系,从系统级诊断到应用行为分析的多工具协同方法
android·ios·智能手机·小程序·uni-app·iphone·webview
toooooop810 小时前
微信小程序轮播图高度自适应优化
微信小程序·小程序
郑州光合科技余经理10 小时前
技术视角:海外版一站式同城生活服务平台源码解析
java·开发语言·uni-app·php·排序算法·objective-c·生活
StarChainTech10 小时前
电动车租赁行业的核心需求:智能中控设备的选择与技术方案
物联网·微信小程序·小程序·软件需求·共享经济
计算机毕设指导612 小时前
基于微信小程序的积分制零食自选平台【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
云起SAAS13 小时前
老年美文文章图文短视频资讯阅读抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·老年美文文章图文短视频资讯阅读
qq_124987075313 小时前
基于微信小程序的民宿预订系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·毕业设计
wangdaoyin201013 小时前
UniApp中使用LivePlayer进行视频或在流媒体播放
uni-app·liveplayer·h5播放视频
2501_9151063213 小时前
App HTTPS 抓包实战解析,从代理调试到真实网络流量观察的完整抓包思路
网络协议·http·ios·小程序·https·uni-app·iphone
游戏开发爱好者814 小时前
苹果App Store应用程序上架方式全面指南
android·小程序·https·uni-app·iphone·webview