位置: IT常识 - 正文

Vue3:探讨一下mixin

编辑:rootadmin
Vue3:探讨一下mixin 一、Vue2中的mixin1、定义要混入的数据对象// 定义一个 mixin 对象export const myMixin = { created() { this.hello() }, methods: { hello() { console.log('hello from mixin!') } }}2、在需要这些东西的地方去通过mixins获得mixin对象<template> <div> <h1>我是页面1</h1> <h2>hello:{{ hello }}</h2> </div></template><script>import { myMixin } from '@/mixin/test1.js'export default { mixins: [myMixin],}</script><style></style>3、解决的问题(说作用可能更准确点)

推荐整理分享Vue3:探讨一下mixin,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

vue2.x中,mixin是将部分组件逻辑抽象成可重用块的工具,也就是重要的“复用”

4、存在的问题

mixin很容易发生冲突:因为mixin中的property都被合并到了一个组件中,同名的会被覆盖,需要了解每一个选项默认的合并特性

数据来源不明确:如果你引入了多个mixin对象,那你想要知道其中一个具体方法、属性等的来源无疑是很难查找的

可重用性有限:我们只能被动的使用mixin中传递的任何东西,而不能通过参数传递的方式来改变其中的某些逻辑,这大大降低了它抽象逻辑方面的灵活性

5、vue2中mixin详解

请参考:Vue混入mixin_你吃香蕉吗?的博客-CSDN博客

二、Vue3中有mixin吗?需要mixin吗?1、结论:vue3中没有mixin,也不需要mixin2、vue3中没有mixin?

如果大家在这之前看过vue3的官方文档,那么大家就会发现,在vue3的文档中提到mixin的地方极少无比,所能找到的地方也只是在说vue2的一些写法之类的,那既然没写mixin,大概率就在vue3中没有mixin了,接下来我们会肯定它没有mixin。

Vue3:探讨一下mixin

官方很重要的一段话:为了解决Vue2存在的问题,我们添加了一种通过逻辑关注点组织代码的新方法:组合式 API。

3、vue3不需要mixin?

vue3相比较vue2来说,它更加的接近函数式编程,说白了就是写js,用写js的方式方法来写页面

提到这里我想大家应该能够想到一个关键词:公共

而上面所说也就是组合式API——Composition API

在Composition API中,我们可以抽离出每一个逻辑点为单独的js文件,再通过import的方式去把页面的所有内容组合在一起,实现一个完整的页面。

同样的,如果多个页面、组件,用到的方法、变量都是同样的,那么我们可以把这一个js文件同时引入到多个文件中,然后再进行使用,这也就达到了mixin的效果,甚至我们可以通过接受参数的方式对公共的方法作出定制化处理

三、Vue3中“Mixin”的实践1、目录结构

 2、index.vue<template> <A></A> <B></B></template><script setup lang="ts">import A from './A.vue'import B from './B.vue'</script>3、homeMixin.tsexport default function getHomeMixin(source: string) {let name = ref<string>('张三');const componentName = sourceconst handleChangeName = (transmitName: string) => {name.value = transmitName}return {name,componentName,handleChangeName}}4、A、B组件

A组件

<template> <div class="A"> <p>A组件</p> <p>minxin:{{ Mixin.name }}</p> <p>{{ Mixin.componentName }}</p> <el-button @click="Mixin.handleChangeName('法外狂徒-张三')">A组件改变mixin中得到的数据</el-button> </div></template><script setup lang="ts">import getHomeMixin from './homeMixin'const Mixin = getHomeMixin('我是A组件传的值');</script><style lang="less" scoped>.A { width: 300px; height: 300px; background-color: aquamarine;}</style>

B组件

<template> <div class="B"> <p>B组件</p> <p>minxin:{{ Mixin.name }}</p> <p>{{ Mixin.componentName }}</p> <el-button @click="Mixin.handleChangeName('尼古拉斯-赵四')">B组件改变mixin中得到的数据</el-button> </div></template><script setup lang="ts">import getHomeMixin from './homeMixin'const Mixin = getHomeMixin('我是B组件传的值');</script><style lang="less" scoped>.B { width: 300px; height: 300px; background-color: burlywood;}</style>5、效果

本文链接地址:https://www.jiuchutong.com/zhishi/298487.html 转载请保留说明!

上一篇:vue3的ref,reactive的使用和原理解析

下一篇:使用SpringBoot一小时快速搭建一个简单后台管理(增删改查)(超详细教程)(springboot用法)

  • 苹果关机了还能查到定位吗(苹果关机了还能听到闹钟吗)

    苹果关机了还能查到定位吗(苹果关机了还能听到闹钟吗)

  • win10怎么关闭自动更新(win10怎么关闭自动获取的ip地址)

    win10怎么关闭自动更新(win10怎么关闭自动获取的ip地址)

  • 路由器的路由表包括(路由器的路由表在哪)

    路由器的路由表包括(路由器的路由表在哪)

  • TP是什么

    TP是什么

  • 苹果手机safari在哪里打开(苹果 safari)

    苹果手机safari在哪里打开(苹果 safari)

  • 快手本地作品突然不见了怎么回事(快手本地作品突然不见了)

    快手本地作品突然不见了怎么回事(快手本地作品突然不见了)

  • 华为mate30pro都有什么功能(华为mate30pro都有哪些新功能)

    华为mate30pro都有什么功能(华为mate30pro都有哪些新功能)

  • 抖音多少人在玩(抖音多少人在玩游戏)

    抖音多少人在玩(抖音多少人在玩游戏)

  • 同一个ip地址是什么意思(同样的ip地址)

    同一个ip地址是什么意思(同样的ip地址)

  • 公众号被永久封号对微信有影响吗(公众号被永久封禁还能申请新公众号吗)

    公众号被永久封号对微信有影响吗(公众号被永久封禁还能申请新公众号吗)

  • a10和a11差距有多大(a10和a11和a12)

    a10和a11差距有多大(a10和a11和a12)

  • internet最初创建的目的是用于什么(internet最初由谁建立)

    internet最初创建的目的是用于什么(internet最初由谁建立)

  • 怎么关闭华为talkback模式(怎么关闭华为talkback功能)

    怎么关闭华为talkback模式(怎么关闭华为talkback功能)

  • 佳能国行和港行的区别(佳能国行和港行哪个好)

    佳能国行和港行的区别(佳能国行和港行哪个好)

  • opporeno3pro电池不耐用(opporeno3pro电池不耐用充电快)

    opporeno3pro电池不耐用(opporeno3pro电池不耐用充电快)

  • 华为b5手环怎么调时间(华为b5手环怎么戴耳朵视频)

    华为b5手环怎么调时间(华为b5手环怎么戴耳朵视频)

  • 如何永久关闭勿扰模式(永久关闭勿扰模式)

    如何永久关闭勿扰模式(永久关闭勿扰模式)

  • 抖音消息撤回了怎么看(抖音消息撤回了对方还能看到吗)

    抖音消息撤回了怎么看(抖音消息撤回了对方还能看到吗)

  • 布局选项卡中有哪些操作(布局选项卡中有哪些内容)

    布局选项卡中有哪些操作(布局选项卡中有哪些内容)

  • 微信运动不联网计步吗(微信运动不联网会计数吗)

    微信运动不联网计步吗(微信运动不联网会计数吗)

  • 携程订单删除能恢复吗(携程订单删除还能退款吗)

    携程订单删除能恢复吗(携程订单删除还能退款吗)

  • laptop3何时发布(laptop3怎么样)

    laptop3何时发布(laptop3怎么样)

  • ps照片放大模糊变清晰(ps图像放大模糊怎么变高清)

    ps照片放大模糊变清晰(ps图像放大模糊怎么变高清)

  • 华为让游戏流畅的设置(如何让华为手机玩游戏变得流畅)

    华为让游戏流畅的设置(如何让华为手机玩游戏变得流畅)

  • 爱奇艺怎么设置定时息屏(爱奇艺怎么设置弹幕)

    爱奇艺怎么设置定时息屏(爱奇艺怎么设置弹幕)

  • 一加7pro有5g吗(一加7pro手机是5g吗)

    一加7pro有5g吗(一加7pro手机是5g吗)

  • 爱奇艺如何开通自动续费(爱奇艺如何开通自动续费功能)

    爱奇艺如何开通自动续费(爱奇艺如何开通自动续费功能)

  • 隐藏路由器的SSID广播来防止他人连接(路由器隐藏ssid后果严重)

    隐藏路由器的SSID广播来防止他人连接(路由器隐藏ssid后果严重)

  • 个人独资企业要注意什么
  • 注册税务师考试科目
  • 厂房地面硬化
  • 股份有限公司个人所得税缴纳比例
  • 车辆审验费的会计分录
  • 资产负债表里的固定资产是原值还是净值
  • 发放给员工的通讯费要上个税吗
  • 房地产开发企业预收款预缴增值税
  • 增值税包括哪些税种
  • 怎么让银行同意商转公
  • 4s店收取的金融服务费用
  • 分公司借款给总公司
  • 出租车行业怎么银行贷款
  • 年初未分配利润加本年净利润等于
  • 转让合同债权
  • 红字发票冲红步骤
  • 全面营改增后,某房地产开发企业需要缴纳哪种税,为什么
  • 暂估销售收入怎么做分录
  • 分公司给总公司管理费的会计分录
  • 收到运费发票是进项还是销项
  • 金融服务收入怎么算
  • 小规模企业记账软件哪个好
  • 劳务服务公司可以承包大型工程吗?
  • 跨年度的房租发票怎么做账
  • 坏账准备年末余额怎么计算
  • Win11 Build 22000.132 预览版 ISO 官方镜像下载与安装
  • 发生以前年度损益调整
  • 进项税大于销项税怎么结转
  • 肚子胀气怎么办 4个方法快速排气很轻松
  • 酒店购进布草可直接确认为成本吗
  • elements table
  • pytorch说明文档
  • 阿尔比恩洞的级别
  • 企业所得税核定征收方法
  • 员工报销个人抬头的医疗费打款备注写什么
  • promise歌曲
  • vue中methods的作用
  • php常用方法
  • vue3ts
  • 购进原材料款项未付应编制什么凭证
  • Python运算符的优先级别
  • 印花税每个月都报吗
  • 单位社保年底清算
  • 分公司增值税可以放总公司一起缴纳吗
  • java守护线程和普通线程jvm区别
  • 主营业务成本结转本年利润会计分录
  • 积分兑换业务有风险吗
  • sql server 2005怎么用
  • 为什么收款金额跟实时入帐金额会不一样农村信用社
  • 什么是虚开增值发票
  • 待报解预算收入怎么做分录
  • 小型微利企业认定标准最新
  • 所得税税率变化对已确认递延所得税资产的影响
  • 滴滴打车开具的普通发票可以抵扣吗
  • 设计费要计入固定成本吗
  • 自己开发建造的房屋
  • 资产负债表货币资金怎么填
  • 申报表弥补以前年度亏损是链接哪个数据
  • 车子的上牌费要计入成本吗
  • 一般纳税人抵扣进项税有时间要求吗
  • 会计报表的作用概括起来就是为报表使用者提供会计信息
  • 现代服务业包括哪些
  • docker镜像包含什么
  • 微软宣布9月30日停止在俄罗斯服务
  • win10检查文件完整性
  • windows server 2008 u盘安装
  • win8怎么打开系统设置
  • win7立体声混音怎么设置
  • win8.1使用教程
  • win7 设置
  • 检查linux是否安装了,可用哪些命令
  • 某网贴出来的u3d面试题目汇总,当时学习下(好多我都不会呢)
  • shell脚本实现自动化巡检报警发送邮箱
  • js代码运行机制
  • js原生dialog
  • textview在哪
  • 小规模纳税人利润如何缴税
  • 广东省职称证书编号查询系统
  • 扣缴个人所得税客户端操作流程
  • 交强险是什么样的照片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设