vue3

【Vue】vue3 中 如何将el-table的表格数据下载为.xlsx格式文件

## 安装依赖 首先,你需要安装 xlsx 和 file-saver 这两个库。 ```bash npm install xlsx file-saver --save ``` 有兴趣可以看看两个库的官方说明,直接看下面使用也没问题。 [xlsx 官方介绍](https://www.npmjs.com ......
表格 el-table 格式 文件 数据

Vue3 Refs模板

Refs模板用来获取页面DOM元素或者组件,类似于Vue2.X中的$refs。Refs模板的使用方法如下。 (1)在setup()中创建ref对象,其值为null。 (2)为元素添加ref属性,其值为步骤(1)中创建的ref对象名。 (3)完成页面渲染之后,获取DOM元素或者组件。 src\view ......
模板 Vue3 Refs Vue

Vue3 依赖注入 provide() inject()

依赖注入就是父组件向后代组件传递数据,可以向子组件传递数据,也可以向孙子组件传递数据。 在父组件中使用provide()函数,向后代传递数据。 在后代组件中使用inject()函数,获取传递过来的数据。 provide()​ 提供一个值,可以被后代组件注入。 inject()​ 注入一个由祖先组件或 ......
provide inject Vue3 Vue

Vue3 watch() 监听

watch()​ 侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 <template> <span> <p>{{num}}</p> <p>{{num2}}</p> <button @click="num++">+1</button> <button @click="addNum">+ ......
watch Vue3 Vue

vue3 setup访问子组件的 DOM 元素

使用setup的情况下这个时候我们无法使用this,注意在setup中setup是封闭的,不会将子组件事件暴露出来,所以要用defineExpose(),将需要在父组件调用的函数暴露出去,子组件代码如下: ``` 哈哈哈哈 ``` 父组件: ``` import { ref, onMounted } ......
组件 元素 setup vue3 vue

Vue3 computed() 计算属性

<template> <span> <p>普通属性:{{num}}</p> <p>计算属性-只读:{{numAdd}}</p> <p>计算属性-可读写:{{numAdd2}}</p> <button @click="numUpdate">修改普通属性</button> <button @click= ......
computed 属性 Vue3 Vue

vue3 + vite 动态引入不被打包的静态资源

在开发中,通常会把一些静态资源放在assets文件夹下,但是assets目录下的内容是需要vite编译打包的,所以如果只是引用assets目录下的资源时,使用绝对路径、相对路径均可。 但是,在开发中,我们经常会引用一些不被打包的资源,此时该资源是放在 public 目录下的,那么在引用时,路径的写法 ......
静态 动态 资源 vue3 vite

vue3 路由-导航守卫

假设用户登录,在地址栏输入了Login,人性化的设计应该自动回到home页面。或者用户输入不存在路由,也应该回到home页面。 这个时候需要用到vue-router的导航守卫功能。 在我们封装的router.js文件下添加router.beforeEach…… const router = crea ......
路由 vue3 vue

Vue3 Composition Api 与 Vue2 Options Api

Options Api Options API,即选项API,即以vue为后缀的文件,通过定义methods,computed,watch,data等属性与方法,共同处理页面逻辑 如下图: Composition Api 在 Vue3 Composition API 中,组件根据逻辑功能来组织的,一 ......
Composition Vue Api Options Vue3

Vue3 使用Vuex与Vuex-persistedstate

## Vuex与vuex-persistedstate ### Vuex是什么? Vuex是一个用于Vue.js应用程序的状态管理模式。它使得在应用程序中的所有组件之间共享和访问状态变得非常简单。Vuex将应用程序的状态存储在一个单一的存储库中,并且提供了一组用于更改状态的API。这使得状态管理变得 ......

vue3同一页面内重复引用同一操作dom的组件产生的问题

##### [2023年8月28日12:39:40] ## vue3同一页面内标签``重复引用同一组件,且该组件内使用css选择器进行dom操作导致页面内相同组件发生变化的问题解决记录 组件内进行dom操作,需要通过js方法进行选择器的元素获取,但当vue3全部渲染完毕后,页面内有多个id为test ......
组件 页面 问题 vue3 vue

vue3中使用provide/inject

父组件 <template> <hello-world/> <button @click="changeMessage">按钮</button> </template> <script setup lang="ts"> import HelloWorld from "./components/Hel ......
provide inject vue3 vue

vue3项目实战+element-plus

记录自己搭建前端项目的学习过程和开发过程,希望一起学习进步 采用Vue3+element-plus+axios+vue-router+sass……(目前刚开始是用到了这些,随着开发慢慢更新) npm是比较慢的, 所以我用的是pnpm。安装指令:npm i pnpm 简单介绍下作用 Vue3:前端框架 ......
element-plus 实战 element 项目 vue3

vue3探索——组件通信之v-model父子组件数据同步

# 背景 再很多场景中,我们可能想在子组件中修改父组件的数据,但事实上,vue不推荐我们这么做,因为数据的修改不容易溯源。 ## Vue2写法 在vue2中,我们使用`.sync`修饰符+自定义事件`'update:xxx'`,来使父子组件数据同步。 ```html // 父组件 我是父组件,我有{ ......
组件 父子 v-model 数据 model

elementplus-Cascader 组件vue3 实现省市区级联动态加载

背景: 省市区级联是三张sql表,需要实现动态加载 因为我只需要三级 leaf 标记为>=2就好了 <el-cascader :props="props" /> const props: CascaderProps = { lazy: true, async lazyLoad(node, resol ......

vue3中组件,api的自动导入

vue3中ref,reactive等api和自定义组件等每个页面都要引入很麻烦,偷懒是人的天性,故引入自动导入插件,以此记录: 1.vue3的api自动导入 使用前: <script setup lang="ts"> import { ref, onMounted } from 'vue' cons ......
组件 vue3 vue api

vue3 监听容器滚动到底部

**在容器里面添加@scroll事件** ``` i)"> {{ i }} 到达底部 ......
容器 vue3 vue

Vue3内置组件suspense用法

## 1、作用 在使用异步组件时,由于需要等待组件加载完成后才能显示,因此可能会出现页面空白或显示错误信息的情况。而 Suspense组件的作用就是在异步组件加载完成前显示一个占位符,提高用户体验。 ## 2、用法 * 首先子组件AsyncShow:使用了promise包裹代码 ```javascr ......
组件 suspense Vue3 Vue

vue3 报错 and 'localEnabled' does not exist in type 'ViteMockOptions'

报错:ReferenceError: require is not defined 原因: 通过命令行 pnpm install -D vite-plugin-mock mockjs 安装得vite-plugin-mock 之后发现再vite.config.ts里边报错 vue3+vite安装vit ......
39 ViteMockOptions localEnabled exist vue3

vue3.0运行npm run dev 报错Cannot find module ‘node:url‘

### 一、问题描述: - 学习vue3.0( Vue.js - 渐进式 JavaScript 框架 | Vue.js)的时候一直使用的家里电脑,项目搭建运行一直没问题,公司近期用vue3.0写项目 - npm init vue@latest —> npm install 都ok,npm run d ......
Cannot module vue3 find node

vue3 配置commitlint 实现上传时,对代码描述的约束

1、对于我们的commit信息,也是有统一规范的,不能随便写,要让每个人都按照统一的标准来执行,我们可以利用**commitlint**来实现。 安装包命令: pnpm add @commitlint/config-conventional @commitlint/cli -D 2、添加配置文件,新 ......
commitlint 代码 vue3 vue

vue3 使用 setup 语法糖时,keep-alive 缓存使用 include / exclude 获取组件名

``` ``` `vue3` 使用 `keep-alive` 缓存页面时,如果需要使用 `include / exclude` 参数,那么就要用到组件名称。如果用 `setup` 语法糖书写时无法直接获取组件名,此时想要设置组件 `name` 的话有如下方法: #### 1. 多写一个script标 ......
缓存 语法 keep-alive 组件 include

vue3 报错:husky - pre-commit hook exited with code 1 (error)

问题:git 提交不上去 解决方法: "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"", ......
pre-commit commit exited husky error

Vue3 Avue Excel导入导出两种方法

Vue3 Avue Excel导入导出两种方法 1.根据avue官网,直接使用 官网导入导出地址 在index.html里导入包 <!-- 导入需要的包 (一定要放到index.html中的head标签里)--> <script src="https://cdn.staticfile.org/Fil ......
方法 Excel Vue3 Avue Vue

0824 学习vue3

node 版本 v16.17.1 1、创建vue项目 命令: 创建vue 项目 1、pnpm create vite 下载依赖 2、pnpm install 运行项目 3、pnpm run dev 4、开启启动项目自动打开浏览器 5、安装代码规范检测插件 5.1 首先安装eslint 命令:pnpm ......
0824 vue3 vue

Vue3 中 keepAlive 如何搭配 VueRouter 来更自由的控制页面的状态缓存?

在 vue 中,默认情况下,一个组件实例在被替换掉后会被销毁。这会导致它丢失其中所有已变化的状态——当这个组件再一次被显示时,会创建一个只带有初始状态的新实例。但是 vue 提供了 keep-alive 组件,它可以将一个动态组件包装起来从而实现组件切换时候保留其状态。本篇文章要介绍的并不是它的基本 ......
缓存 keepAlive VueRouter 状态 页面

vue3+vite2动态绑定图片优雅解决方案

> 优雅解决方案在最下面,小伙伴们儿可以直接前往 😊 > # 背景 在vue3+vite2项目中,我们有时候想要动态绑定资源,比如像下面的代码这样: ```html ``` 实际效果是这样: ![](https://img2023.cnblogs.com/blog/3153981/202308/3 ......
解决方案 方案 动态 图片 vite2

Vite + Vue3 + Element-Plus

搭建 Vite 项目 注意 Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。 使用 NPM: npm create vite@latest 使用 Yarn: yarn cr ......
Element-Plus Element Vite Plus Vue3

安装vue3+vite报错

报错:‘D:\Program‘ 不是内部或外部命令,也不是可运行的程序; 我已经配置过环境变量,发现是node 安装目录 D:\Program Files\nodejs ,中间有空格导致,只能改变nodejs位置 1.把nodejs整个剪切出来放在d盘根目录下面 2.修改node的全局环境 npm ......
vue3 vite vue

Vue3定义全局函数和变量

定义全局函数 Vue2 和 Vue3 的区别 由于 Vue3 没有 Prototype 属性,所以需要在 main.ts 文件里使用 app.config.globalProperties 去定义全局函数和变量 Vue2: // 之前 (Vue 2.x) Vue.prototype.$http = ......
全局 变量 函数 Vue3 Vue