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方法;
结语
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!
文章来源: https://blog.51cto.com/u_15718546/5882000
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报