返回

Vue -- Mixin混入(一)

发布时间:2022-12-04 08:43:40 298
# html# 数据

什么是Mixin混入

混入 (mixin) 是一种非常灵活的 Vue 组件中的可复用方式,一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。

使用Mixin混入data

首先定义Minxin

	const myMixin = {
            data(){
                return {
                    num: 1
                }
            }
        };

然后使用mixins,在组件中使用之前定义好的myMixin

	const app = Vue.createApp({
            data(){
                return {
                    num: 2
                }
            },
            mixins:[myMixin],
            template:`<div>{{num}}</div>`
        })

打开浏览器页面渲染出组件的data数据。

在这里插入图片描述

将组件的data注释后,页面才渲染出Mixin混入的数据。

在这里插入图片描述

结论:==组件 data 优先级高于 Mixin 混入的 data==

使用Mixin混入钩子

在之前定义好的myMixin,写上钩子created,并在控制台输出:mixin created

            created(){
                console.log("mixin created");
            }

在组件上也写上钩子created,并在控制台输出:created

            created(){
                console.log("created");
            }

控制台输出:

在这里插入图片描述 结论:==先执行 Mixin 的钩子,再执行组件里的钩子==

使用Mixin混入方法

首先在组件模板绑定点击事件

template:`
{{num}}
`

然后在Mixin和组件中写入响应事件的方法

	  //myMixin
      methods:{
                handleClick(){
                    console.log("mixin handleClick");
                }
            },
		//组件
        methods:{
                handleClick(){
                    console.log("handleClick");
                }
            },

打开浏览器触发点击事件控制台输出:handleClick

在这里插入图片描述

将组件的方法注释后,再次触发点击事件,控制台输出:mixin handleClick

在这里插入图片描述

结论:==组件 methods方法 优先级高于 Mixin 混入的 methods方法==

总结

Mixin: 将多个组件相同的逻辑,抽离出来复用;

使用Mixin混入data: 组件 data 优先级高于 Mixin 混入的 data;

使用Mixin混入钩子: 先执行 Mixin 的钩子,再执行组件里的钩子;

使用Mixin混入方法: 组件 methods方法 优先级高于 Mixin 混入的 methods方法

结语

本文到此结束

如果大家还有什么其他想法,欢迎在评论区交流!

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Python3的map、filter与reduce函数 2022-12-04 08:00:35