自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 pinia使用

defineStore的第一个参数是唯一的,不能和其他的存储文件的参数重复。在stores文件下创建index.ts文件,已有文件可直接在里面修改。在stores下创建要使用的存储页面。在main.ts挂载文件。写法一:选项式api。写法二:组合式api。

2024-01-10 11:01:31 365

原创 js上传文件,获取文件时常

搭配el-upload 获取视频时长。

2024-01-10 10:45:45 389

原创 el-select 模糊查询

【代码】el-select 模糊查询。

2024-01-08 14:49:44 583

原创 vue 实现瀑布流

在vite.config.ts中配置。在main.ts引入。

2023-11-17 13:34:59 183

原创 vue 通过 JSON数据 + lottite 实现loading

【代码】vue 通过 JSON数据 + lottite 实现loading。

2023-11-10 10:19:15 175

原创 three.js通过精灵图渲染 热点

【代码】three.js通过精灵图渲染 热点。

2023-10-24 13:14:51 101

原创 vue上传文件

http-request="uploadFileImage" 代替地址 action。然后是 input 类型file 的上传方式。首先 是通过element写法。可以拿到你的上传文件信息。也是可以拿到文件信息。

2023-08-22 16:49:37 154

原创 navigator.clipboard实现点击复制功能

调用api即可,Ctrl加v就能粘贴。

2023-06-26 16:33:57 255

原创 vue3+ts+vite报错

src目录下创建shims-vue.d.ts 文件。别用vite了,妈的一天天就他报错,SB东西。

2023-05-16 16:26:26 330

原创 thee.js keyframes模块详解

搜索 keyframes ,找到该文件后 使用本地终端跑起来,不用终端会报错。vscode可以用插件 Live Server。第一步下载three.js官方包。剩下的,通过注释一行一行了解。找到examples 列子。使用vscode打开。

2023-04-11 11:53:23 153

原创 双击修改输入方式

失去焦点后恢复状态,我这里输入的是URL地址,我用v-model双向绑定了一下。双击拿到对应数据ID,同过ID判断显示方式。

2023-03-22 14:16:49 55

原创 鼠标中键点击关闭页面

通过默认属性提供给我们的button属性可以拿到我们目前点击的是鼠标那个位置。item这里我传的是要关闭页面的URL地址。

2023-03-22 14:01:26 172

原创 vue3监听vuex的数据

【代码】vue3监听vuex的数据。

2023-03-22 13:50:49 799

原创 vue3时间戳转日期

由于 3.0 移除了2.0 的 filters 后,所以在3.0中,设置:时间戳转日期

2023-02-03 10:10:40 477

转载 前端图片压缩

前端图片压缩

2022-10-17 09:19:24 364

原创 去除router-link中的下划线

text-decoration: none;

2022-10-14 13:31:51 145

原创 vue移动端不同设备自适应像素,通过计算对单位进行缩放

vue移动端不同设备自适应像素,通过计算对单位进行缩放

2022-10-10 09:48:33 418

原创 CSS - font-size 设置小字体不生效解决方案(小于12px)

CSS - font-size 设置小字体不生效解决方案(小于12px)

2022-10-10 09:30:59 5168

原创 vue |实现点击图片预览浏览器满屏大图

vue |实现点击图片预览浏览器满屏大图

2022-06-04 22:43:50 956

转载 vue-cli2使用scss

因为vue-cli2已经帮你配置好了scss的配置你只管就是下载个依赖就完事了。由于sass版本太高会报错,所以就用了4.0.0版本的sass-loadercnpm install [email protected] node-sass1

2022-05-31 19:53:27 475

转载 Vue报错Module build failed Error Node Sass version 7.0.1 is incompatible with ^4.0.0.解决方案

错误提示:解决方案:找到问题所在:Module build failed: Error: Node Sass version 7.0.1 is incompatible with ^4.0.0.这是由于Sass的版本过高导致,所以根据提示将版本改为较低的版本就可以了,我这里是改为4.0.0版本。下面是怎么改版本:1.首先在IDE中找的package.json文件:这是package.json文件2. 然后打开该文件找到“sass-loader”,修改版本即可,这里修改成4.0.0

2022-05-24 23:26:19 1878

转载 解决 [npminstall:runscript:error] [email protected] scripts.postinstall run “node scripts/build.js“

参考:https://blog.csdn.net/qq_30627241/article/details/104931524博主:hui_life排查了下发现是因为sass安装时获取源的问题,先修改sass安装的源npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass1再运行npm install就成功了D:\vscode_project\demo>cnpm install√ Insta

2022-05-24 21:01:47 2772

转载 const声明常量及特点

在ES6中使⽤ const 来声明常量⾸先什么是常量,常量就是相对于变量⽽⾔不可变动的量,111、'qqq' 这样都是常量。const nub = 1;console.log(nub); //1在使⽤ const 的时候有以下⼏点需要注意:1、使⽤const声明常量⼀定要赋初始值,否则会产⽣语法错误const a = 1;const b; //SyntaxError: Missing initializer in const declaration2、常量的值不能修改正是因为 const.

2022-05-07 14:33:23 489 4

转载 vue项目运行出现报错:Multiple assets emit different content to the same filename index.html

原因:在新版本vue-cli(5以上,我的目前是5.0.4)中,不允许有括号等符号解决方案:1、将文件夹中的括号等去除2、降级,降级至4.5先卸载新版本npm uninstall @vue/cli然后安装旧版本npm install @vue/[email protected]...

2022-05-05 16:42:41 762

原创 vue 回调地狱

<script src="JQuery.js"></script> <script> // 拿到a的数据后才去请求b,拿到b的数据后再去请求c 这就叫回调地狱 // 像这种回调嵌套回调的写法就叫回调地狱 // $.ajax({ // method: "get", // url: "data.json", // success(res) {...

2022-04-28 11:22:02 498

原创 promise原生

<script> let xhr = new XMLHttpRequest(); //第一步创建xhr对象 xhr.open("get", "./data.json", true); //第二步:设置请求的基本信息 如果是post请求在这里要设置一个头信息 // get方式传参是在路径后面? 拼接 而post是在send里传 // 第三个参数 可以控制异步同步 true就是异步 ...

2022-04-28 11:21:00 169

原创 什么是 es6,promise

1.什么是 es6?是 ECMAScript 的第六个版本 在 es5 的基础上新增加了一些语法js 分成三部分 dom(文档对象模型) bom(浏览器对象模型) ECMAScript(js 语法)2.promisepromise 是 es6 提供的一种异步解决方案,在我的理解中 promise 就是把异步操作换了一种写法从之前的嵌套回调函数 变成了链式的写法promise 本身其实就是一个容器 里面放异步的代码 这样就可以让这个异步的代码执行.then .catch 的操作1.

2022-04-28 11:18:28 425

原创 methods computed watch 区别

methods 就是方法 我们写的点击事件等各种事件都放在 methods 里计算属性 computed 计算属性 有缓存功能就是当跟他有关的值发生变化的时候才会重新计算 还有一个特点就是必须要有 return 值 return 就是把计算的结果 return 出去watch watch 可以监听 数据和路由的变化watch 监听路由的变化监听路由的话就是监听 $router```js watch: { $route: { handler(newval, old

2022-04-28 11:16:09 55

转载 vuex持久化插件

数据持久化:刷新页面,vuex里面数据丢失、清空。有时候我们需要把一些数据固话到本地,即使刷新也不能清空,例如:登陆状态、token等。这是就需要用到vuex数据持久化//需要先下载插件npm install vuex-persistedstate --save 或者 使用yarn add vuex-persistedstate --save//在vuex初始化时导入插件import persist from 'vuex-persistedstate'//并使用expor

2022-04-27 11:02:33 220

转载 vue中数组的常用方法总结

1. join()join(’参数‘)把数组的元素以传入的参数为分割符,转换成字符串。let arr = [1,2,3,4,5];let str = arr.join(',');console.log(str) // -> '1,2,3,4,5';2.push()和pop()push(): 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。pop():数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。let arr

2022-04-27 11:01:02 7463

转载 v-if和v-for优先级的问题

不能直接这样写,会出现警告。 <div v-for="(item,index) in checkList" :key="index" v-if="item.status"> </div> 正确的写法<template v-for="(item,index) in checkList"> <div :key="index" v-if="item.status" ></div> </temp

2022-04-27 10:59:35 70

原创 axios简单封装

import axios from "axios";import router from "@/router";import Vue from "vue";import loading from "@/components/loading";Vue.use(loading);const instance = axios.create({ baseURL: "https://api.it120.cc/small4", timeout: 5000,});instance.int...

2022-04-27 10:57:45 141

原创 mixin 混入,Vue.extend

mixin 混入混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”,出现冲突的时候以组件优先比如,生命周期函数就会合并 但是如果组件和混入有相同的变量的时候 会以组件的优先全局混入混入也可以进行全局注册。使用时格外小心!一旦使用全局混入,所有的实例都会触发Vue.extend

2022-04-27 10:50:55 69

原创 组件写 name 有啥好处, Vue.use 是⼲什么的

组件写 name 有啥好处增加 name 属性,可以实现组件递归调⽤自身,调用的时候用的就是 name 名字可以表示组件的具体名称,⽅便调试和查找对应的组件 比如说 keep-alive 的 include 和 exclude 就是通过组件的 name 属性区分谁缓存谁不缓存的Vue.use 是⼲什么的?vue.use 是用来安装 Vue.js 插件。这个插件可以是一个组件也可以是一个函数,插件里要有一个 install 方法,install 方法调用时,他的第一个参数就是 Vue 在调用

2022-04-27 10:49:25 1318

原创 虚拟 dom

由于在浏览器中操作 DOM 是很昂贵的。频繁的操作 DOM,会产⽣⼀定的性能问题. 所以在vue中将真实的DOM节点抽离成⼀个虚拟 的DOM树,这个虚拟的DOM树就是虚拟DOM优点: 保证性能下限: 框架的虚拟 DOM 需要适配任何上层 API 可能产⽣的操作,它的⼀些 DOM 操作的实现必须是普适的,所以它 的性能并不是最优的;但是⽐起粗暴的 DOM 操作性能要好很多,因此框架的虚拟 DOM ⾄少可以保证在你不需要⼿动优化的 情况下,依然可以提供还不错的性能,即保证性能的下限;⽆需⼿动操作 DOM

2022-04-27 10:46:51 78

原创 diff 算法

diff 算法就是对虚拟 dom 进行对比,并返回一个 patch 对象,这个对象的作用是存储两个节点不同的地方,最后用 patch 里记录的信息去局部更新真实的 domdiff 算法的步骤1.js 对象表示真实的 dom 结构,就是我们说的生成一个虚拟 dom,再用虚拟 dom 构建一个真的 dom 树,放到页面中。 2.状态改变的时候生成一个新的虚拟 dom 跟旧的进行对比,这个对比的过程就是 diff 算法,通过 patch 对象记录差异 3.把记录的差异用在第一个虚拟 dom 构建的真实

2022-04-27 10:43:15 879

原创 路由导航守卫扩展

我理解的导航守卫 就是一座房子的保安 只有保安允许了才能访问页面之前说三种六个 还有一个用的不是很多的全局守卫 叫做全局解析守卫 beforeResolve导航守卫一共有三种全局的守卫 守卫所有的页面beforeEach 路由前置守卫beforeResolve 路由解析之前afterEach 路由离开全局守卫 beforeEach 和 beforeResolve他们两个都会在路由跳转前就执行 参数都是 to from next他们两个的区别 执行的时机不一样 before

2022-04-27 10:41:58 240

原创 组件传值扩展

1. 父传子- 首先在使用子组件的标签上 通过自定义属性传递变量 在子组件中 通过 props 接受在接收的时候有两种接收方式 数组形式 和 对象形式 对象形式可以规定传来的变量的数据类型(type)默认值(default)以及是否必填(required)2. 子传父首先在使用子组件的标签上定义一个自定义事件 在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了

2022-04-27 10:38:39 78

原创 vue组件通信

父传子首先在使用子组件的标签上 通过自定义属性传递变量 在子组件中 通过 props 接受在接收的时候有两种接收方式 数组形式 和 对象形式 对象形式可以规定传来的变量的数据类型(type)默认值(default)以及是否必填(required)子传父首先在使用子组件的标签上定义一个自定义事件 在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了

2022-04-24 11:40:02 55

原创 前端必看,1根烟的时间带你了解,生命周期,vuex,路由,基础面试题

一,生命周期1.1什么是生命周期?也叫Vue生命周期钩子,就是Vue实例在某一时间点自动执行的函数。1.2生命周期的函数有那些?分为几个阶段?(1)创建阶段beforecreate 实例创建之前,没有data methods thiscreated 实例创建之后,可以使用data methods thisbeforemount 组件挂载之前mounted 组件挂载之后(2)运行阶段beforeupdate 数据,视图更新之前upd...

2022-04-24 11:11:29 1071

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除