- 博客(41)
- 收藏
- 关注
原创 pinia使用
defineStore的第一个参数是唯一的,不能和其他的存储文件的参数重复。在stores文件下创建index.ts文件,已有文件可直接在里面修改。在stores下创建要使用的存储页面。在main.ts挂载文件。写法一:选项式api。写法二:组合式api。
2024-01-10 11:01:31
436
原创 vue上传文件
http-request="uploadFileImage" 代替地址 action。然后是 input 类型file 的上传方式。首先 是通过element写法。可以拿到你的上传文件信息。也是可以拿到文件信息。
2023-08-22 16:49:37
203
原创 thee.js keyframes模块详解
搜索 keyframes ,找到该文件后 使用本地终端跑起来,不用终端会报错。vscode可以用插件 Live Server。第一步下载three.js官方包。剩下的,通过注释一行一行了解。找到examples 列子。使用vscode打开。
2023-04-11 11:53:23
223
原创 CSS - font-size 设置小字体不生效解决方案(小于12px)
CSS - font-size 设置小字体不生效解决方案(小于12px)
2022-10-10 09:30:59
5443
转载 vue-cli2使用scss
因为vue-cli2已经帮你配置好了scss的配置你只管就是下载个依赖就完事了。由于sass版本太高会报错,所以就用了4.0.0版本的sass-loadercnpm install sass-loader@4.x.x node-sass1
2022-05-31 19:53:27
527
转载 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
1955
转载 解决 [npminstall:runscript:error] node-sass@4.13.1 scripts.postinstall run “node scripts/build.js“
参考:https://blog.youkuaiyun.com/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
3384
转载 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
612
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/cli@4.5.17...
2022-05-05 16:42:41
805
原创 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
568
原创 promise原生
<script> let xhr = new XMLHttpRequest(); //第一步创建xhr对象 xhr.open("get", "./data.json", true); //第二步:设置请求的基本信息 如果是post请求在这里要设置一个头信息 // get方式传参是在路径后面? 拼接 而post是在send里传 // 第三个参数 可以控制异步同步 true就是异步 ...
2022-04-28 11:21:00
238
原创 什么是 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
499
原创 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
88
转载 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
274
转载 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
8617
转载 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
94
原创 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
160
原创 mixin 混入,Vue.extend
mixin 混入混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”,出现冲突的时候以组件优先比如,生命周期函数就会合并 但是如果组件和混入有相同的变量的时候 会以组件的优先全局混入混入也可以进行全局注册。使用时格外小心!一旦使用全局混入,所有的实例都会触发Vue.extend
2022-04-27 10:50:55
100
原创 组件写 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
1388
原创 虚拟 dom
由于在浏览器中操作 DOM 是很昂贵的。频繁的操作 DOM,会产⽣⼀定的性能问题. 所以在vue中将真实的DOM节点抽离成⼀个虚拟 的DOM树,这个虚拟的DOM树就是虚拟DOM优点: 保证性能下限: 框架的虚拟 DOM 需要适配任何上层 API 可能产⽣的操作,它的⼀些 DOM 操作的实现必须是普适的,所以它 的性能并不是最优的;但是⽐起粗暴的 DOM 操作性能要好很多,因此框架的虚拟 DOM ⾄少可以保证在你不需要⼿动优化的 情况下,依然可以提供还不错的性能,即保证性能的下限;⽆需⼿动操作 DOM
2022-04-27 10:46:51
109
原创 diff 算法
diff 算法就是对虚拟 dom 进行对比,并返回一个 patch 对象,这个对象的作用是存储两个节点不同的地方,最后用 patch 里记录的信息去局部更新真实的 domdiff 算法的步骤1.js 对象表示真实的 dom 结构,就是我们说的生成一个虚拟 dom,再用虚拟 dom 构建一个真的 dom 树,放到页面中。 2.状态改变的时候生成一个新的虚拟 dom 跟旧的进行对比,这个对比的过程就是 diff 算法,通过 patch 对象记录差异 3.把记录的差异用在第一个虚拟 dom 构建的真实
2022-04-27 10:43:15
917
原创 路由导航守卫扩展
我理解的导航守卫 就是一座房子的保安 只有保安允许了才能访问页面之前说三种六个 还有一个用的不是很多的全局守卫 叫做全局解析守卫 beforeResolve导航守卫一共有三种全局的守卫 守卫所有的页面beforeEach 路由前置守卫beforeResolve 路由解析之前afterEach 路由离开全局守卫 beforeEach 和 beforeResolve他们两个都会在路由跳转前就执行 参数都是 to from next他们两个的区别 执行的时机不一样 before
2022-04-27 10:41:58
283
原创 组件传值扩展
1. 父传子- 首先在使用子组件的标签上 通过自定义属性传递变量 在子组件中 通过 props 接受在接收的时候有两种接收方式 数组形式 和 对象形式 对象形式可以规定传来的变量的数据类型(type)默认值(default)以及是否必填(required)2. 子传父首先在使用子组件的标签上定义一个自定义事件 在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了
2022-04-27 10:38:39
117
原创 vue组件通信
父传子首先在使用子组件的标签上 通过自定义属性传递变量 在子组件中 通过 props 接受在接收的时候有两种接收方式 数组形式 和 对象形式 对象形式可以规定传来的变量的数据类型(type)默认值(default)以及是否必填(required)子传父首先在使用子组件的标签上定义一个自定义事件 在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了
2022-04-24 11:40:02
73
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人