当前位置: 首页> 游戏> 游戏 > 随笔(二)——项目代码优化

随笔(二)——项目代码优化

时间:2025/7/8 8:10:12来源:https://blog.csdn.net/weixin_44784401/article/details/139259276 浏览次数:0次

文章目录

  • 前言
  • 一、传入的props的默认值定义为空数组
    • 1.问题(提示对象的类型为unknwn)
    • 2.优化
  • 二、document 上不存在xxx属性
    • 1.问题
    • 2.做了一个兼容浏览器的关闭全屏方法
    • 3. 解决方法 (使用declare globa设置全局变量类型)
      • (1)declare globa 作用
      • (2)declare globa 使用
  • 三、ant design vue tab组件渲染优化
    • 1: 起始代码
    • 2: 优化代码


前言

提示:


一、传入的props的默认值定义为空数组

1.问题(提示对象的类型为unknwn)

在这里插入图片描述

2.优化

在这里插入图片描述

二、document 上不存在xxx属性

1.问题

类型“Document”上不存在属性“mozCancelFullScreen”。
属性“webkitExitFullscreen”在类型“Document”上不存在。你是否指的是“exitFullscreen”?

2.做了一个兼容浏览器的关闭全屏方法

但是显示document不存在某些属性
在这里插入图片描述

3. 解决方法 (使用declare globa设置全局变量类型)

(1)declare globa 作用

使用 declare global 可以在 npm 包或者 UMD 库的声明文件中扩展全局变量的类型

(2)declare globa 使用

在declare globa里面重写添加新的全局属性

declare global {interface Document {mozCancelFullScreen?: () => Promise<void>;webkitExitFullscreen?: () => Promise<void>;msExitFullscreen?: () => Promise<void>;}
}

三、ant design vue tab组件渲染优化

根据状态渲染不同的状态返回不同的状态说明,以及传入不同状态的标签颜色
如 状态为5,显示文字为驳回,显示颜色为红色

1: 起始代码

<Tag :color="record.status === 1 ? '#d9d9d9' :record.status === 2 ? '#e99f43' :record.status === 3 ? '#58c08a' :record.status === 4 ? '#c72929' : ''">{{ record.status === 1 ? '未完成' :record.status === 2 ? '审核中' :record.status === 3 ? '已通过' :record.status === 4 ? '驳回' : '' }}
</Tag>

2: 优化代码

使用一个对象或者 Map 来存储这些对应关系,然后模板中直接使用这个对象

<template v-if="column.key === 'process_status'"><Tag :color="statusMap[record.process_status].color">{{ statusMap[record.process_status].text }}{{ index }}</Tag>
</template>const statusMap = {1: { color: '#d9d9d9', text: '未完成' },2: { color: '#e99f43', text: '审核中' },3: { color: '#58c08a', text: '已通过' },5: { color: '#c72929', text: '驳回' },
};
关键字:随笔(二)——项目代码优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: