使用vue给暴躁的你做一个屏幕检测器吧

简介: 使用vue给暴躁的你做一个屏幕检测器吧

image.png

大家都知道,在写程序的时候,容易暴躁,暴躁起来就容易摔键盘,摔屏幕,这样容易造成屏幕损坏。于是乎,写了一个小工具来检测屏幕是否是好的。

各位前端大佬不要笑话,运维小弟献丑了。




项目体验


code.juejin.cn/pen/7140617…

项目检测效果,比如,小弟我的电脑屏幕,在屏幕检测器检测后,效果是这样的,这样的话很容易判断屏幕是否坏了。

image.png

image.png



项目思路

我们检测屏幕是否有损坏,最有效的方法是将整个屏幕都置于一个颜色,例如: 红色、黑色、蓝色、绿色等。而后通过肉眼观察,即可辨别屏幕是否损坏。



初始化demo

我们打开码上掘金(code.juejin.cn/),创建代码片段,选择新建空白片段。


image.png


由于到引入vue.js,所以我们选择Script中的设置


image.png


在设置中,我们输入vue.js``cdn的地址即可,比如我们使用vue 2,我们就可以输入: cdn.jsdelivr.net/npm/vue@2.6…

image.png

我们可以编写如下代码,来校验一下我们设置的demo环境。

image.png


我们如上编写了一段非常简单的代码,编写完毕后,我们点击运行,即可出现hello pdudo,证明我们的环境是没问题的了。



核心代码

在上述项目思路过程,我们已经介绍过项目的核心思路,那就是给屏幕设置一个背景色就可以了,我们可以先不适用vue.js,用html+ css的形式,来编写该功能。

image.png

我们核心代码如上,我们定义一个新的div标签,其中给了一个id标签 为windowclass标签为green,其中window编写的是长和宽是1000vh以及 1000vw。(关于为什么使用vhvw而不是用px,我们总结的时候讲),而green编写的是背景为绿色。



使用vue控制输出


如上,我们整个静态框架已经搭建完毕了,我们想输出不同的颜色,我们可以定义一堆class,例如:

.green {
  background: green;
}
.red {
  background: red;
}
.white {
  background: white;
}
.blue {
  background: blue;
}
.black {
  background: black;
}


如上我们定义了5种颜色,我们在静态代码中,只需要键入class="xxx",其中xxx是指我们已经规定好了的class,而这个,正是我们需要使用vue来控制的。


如何使用vue来修改class的标签的值呢? vue给我们提供了一个方法叫做: v-bind:class,我们可以修改下,不直接写class,而是写v-bind:class,也不是直接写green了,而是vue中变量。

image.png


我们尝试一下,我们将其变量修改为red运行试试。

image.png

我们目的不仅于此,我们想使用鼠标,来切换颜色,关于这点,其实我们可以做一个点击事件,来修改vue中的backcolor变量的值,来实现该需求。

基于此,我们先来做点击事件。

image.png


我们在该div上绑定一个点击事件,其值为changeBackground, 接着,我们再编写该方法,目前我们在方法中,将其backcolor修改为blue,最后我们尝试运行下,点击屏蔽,发现页面由绿色变为蓝色了。


我们如何有序循环切换呢?


我们可以每次点击,都修改其backcolor的值,来达到该效果,我们就编写该方法即可。

changeBackground() {
  switch (this.backcolor){
    case "red":
      this.backcolor = "green"
      break
    case "green":
      this.backcolor = "white"
      break
    case "white":
      this.backcolor = "blue"
      break
    case "blue":
      this.backcolor = "black"
      break
    case "black":
      this.backcolor = "red"
      break
  }
}

如上,代码就可以实现一个循环,若收到点击消息,当检测到当前屏幕是红色的时候,就将其修改为绿色,当检测到当前屏幕是绿色的话,就将其修改为白色,最终的循环颜色为:


image.png



那我们的功能实现了,最后给代码命名一下,叫做“屏幕检测”。

image.png



总结


由于没有系统性的学习过前端相关知识,现在拿起来,稍微有点慢,作为一个做运维,或者写后端的人来讲,前端项目写起来,真的有一种成就感。关于项目中,div为什么要设置为vhvw,如果我们设置为100%,对于项目来说,是我们将父节点的长和宽占满,但是我们父节点又没有任何东西,所以,这样设置,不得行,最后考虑了一个最笨的办法,将单位百分比换成vhvw形式,怎么样,好玩吧,快来动动小手指,试试吧。



相关文章
|
4月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
377 2
|
3月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
352 137
|
7月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
865 0
|
7月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
6月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
506 1
|
6月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
330 0
|
7月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
521 17
|
7月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
326 1
|
7月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
645 0
|
7月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
322 0