当前位置: 首页 > news >正文

vue mixin混入与hook

mixin混入是 ‌选项式 API‌,在vue3-Composition API <script setup> 中无法直接使用,需通过 setup() 函数转换

vue2、vue3选项式API:

// mixins/mixin.js
export const mixin = {methods: {courseType(courseLevel) {const levelMap = {1: '初级',2: '中级',3: '高级'};return levelMap[courseLevel] || '';}}
}
组件引入mixin
<template><view><!-- 直接调用混入的 courseType 方法 --><text>课程等级: {{ courseType(level) }}</text></view>
</template>
import { mixin } from '@/mixins/mixin.js';
export default {mixins: [mixin],mounted() {console.log(this.courseType(2)); // 输出 "中级"}
}
在vue3-Composition API 组件(<script setup>)‌无法直接使用,需通过 setup() 函数转换:

在这里插入图片描述

vue3-Composition API 推荐使用 ‌自定义 Hook‌ 替代混入

// hooks/useCourseLevel.js
export function useCourseLevel() {const courseType = (courseLevel) => {const levelMap = {1: '初级',2: '中级',3: '高级'};return levelMap[courseLevel] || '';};return {courseType};
}
组件中使用
<script setup>
import { useCourseLevel } from '@/hooks/useCourseLevel.js';const { courseType } = useCourseLevel();
</script>// html
<!-- 级别 -->
<view class="descript">{{ courseType(courseLevel) }}</view>

相关文章:

  • vscode以管理员身份运行报错
  • Nacos源码—1.Nacos服务注册发现分析一
  • 蓝桥杯2025年第十六届省赛真题-可分解的正整数
  • Docker镜像仓库技术深度解析
  • 【环境配置】Mac电脑安装运行R语言教程 2025年
  • 半监督学习与强化学习的结合:新兴的智能训练模式
  • 【计算机视觉】Bayer Pattern与Demosaic算法详解:从传感器原始数据到彩色图像
  • 《计算机视觉度量:从特征描述到深度学习》—图片多模态CLIP,BLIP2,DINOv2特征提取综述
  • SDK游戏盾、高防IP、高防CDN三者的区别与选型指南
  • Profinet 从站转 EtherNet/IP 从站网关
  • OpenCV计算机视觉实战(2)——环境搭建与OpenCV简介
  • MongoDB的增删改查操作
  • 反向代理、负载均衡与镜像流量:原理剖析、区别对比及 Nginx 配置实践
  • 软件测试实验报告3 | 自动化测试工具的基本操作
  • 使用阿里云 CDN 保护网站真实 IP:完整配置指南
  • 【分布式系统中的“瑞士军刀”_ Zookeeper】三、Zookeeper 在实际项目中的应用场景与案例分析
  • 换张电话卡能改变IP属地吗?一文解读
  • 在 C# .NET 中驾驭 JSON:使用 Newtonsoft.Json 进行解析与 POST 请求实战
  • Java基础361问第16问——枚举为什么导致空指针?
  • 第十三章-PHP MySQL扩展
  • 四川省社科联期刊:不建议在读硕士、博士将导师挂名为第一作者
  • 上海112位全国劳动模范和先进工作者接受表彰,樊振东榜上有名
  • 从“网点适老化”到“社区嵌入式”,“金融为老上海模式”如何探索?
  • 公交公司须关注新出行需求:“单车巴士”能否常态化
  • 没有雷军的车展:老外扎堆,萌车、机器狗谁更抢镜?| 湃客Talk
  • 伊朗港口爆炸已造成281人受伤