关于vue的代码规范
此文问了提高代码阅读性、降低代码维护成本
JS部分
和渲染有关的数据
vue
中data
的数据默认便会进行双向数据绑定,若是将大量的和渲染无关的数据直接放置在data
中,将会浪费双向数据绑定时所消耗的性能,将这些和渲染无关的数据进行抽离并配合Object.freeze
进行处理。处理方法:
table
中columns
数据可以单独提取一个外部js
文件作为配置文件,也可以在当前.vue
文件中定义一个常量定义columns
数据,因为无论如何都是固定且不会修改的数据,应该使用Object.freeze
进行包裹,既可以提高性能还可以将固定的数据抽离,一些下拉框前端固定的数据也建议此操作const columnList = Object.freeze([ { title: '姓名', key: 'name', align: 'center' }, { title: '性别', key: 'gender', align: 'center' } ])
注意:需要注意的是 Object.freeze() 冻结的是值,这时仍然可以将变量的引用替换掉,还有确保数据不会变才可以使用这个语法,如果要对数据进行修改和交互,就不适合使用冻结了。
弹框的控制
一个页面中通常会存在很多个不同功能的弹框,若是每一个弹框都设置一个对应的变量来控制其显示,则会导致变量数量比较冗余和命名困难,可以使用一个变量来控制同一页面中的所有Modal
弹框的展示 比如某个页面中存在三个Modal
弹框// bad // 每一个数据控制对应的Modal展示与隐藏 new Vue({ data() { return { modal1: false, modal2: false, modal3: false, } } }) // good // 当modalType为对应的值时 展示其对应的弹框 new Vue({ data() { return { modalType: '' // modalType值为 modal1,modal2,modal3 } } })
参考博客:http://caibaojian.com/vue-style.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗