自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

涂涂

一只正在爬的小蜗牛猿

  • 博客(195)
  • 资源 (2)
  • 收藏
  • 关注

原创 vue3使用createVNode时警告 Non-function value encountered for default slot. Prefer function slots for be

问题 :main.ts:88 [Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance.

2024-04-22 15:03:49 212

原创 服务器上一个域名对应多个前端项目的nginx转发配置

2个前端项目,如何通过一个端口来访问,8001 端口代理 A项目,8002代理B项目。访问8001,匹配到/app-h5 这个路径,就自动转发到8002 的B项目。剩余的所有路径,默认走8001的A项目。

2023-09-13 15:38:04 3632 1

原创 docker部署前端项目保姆级教程

在阿里云容器管理创建空间和镜像(免费),供后期存储docker build好的镜像以便在不同的服务拉取此镜像。本地启动docker(有不会启动的吗?用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。启动的前面端口是宿主服务器端口,后面端口是镜像运行端口。(拉取镜像的地方需要启动docker服务)(官网注册后找不到镜像就搜索镜像服务)将build好的镜像推到阿里云镜像服务。利用docker命令登录阿里云镜像。登录阿里云镜像看是否push成功。并且创建一个镜像,推送到阿里云。准备阿里云账号(免费)

2023-08-29 10:15:57 662

原创 在 Taro 小程序中调用蓝牙开门功能

准备设备和权限:确保你有一台支持蓝牙的门禁设备,并且已经获取了相关的蓝牙权限。方法向特定特征值写入数据,以触发门禁设备的开门动作。方法监听蓝牙适配器的状态变化,确保蓝牙功能可用。方法获取目标设备的服务列表,以获取相关的特征值。连接目标设备:根据扫描到的蓝牙设备信息,使用。方法使蓝牙模块开启,并检查是否成功开启。方法监听连接状态变化,确保成功建立连接。方法开始扫描蓝牙设备,并监听扫描结果。获取特征值:根据服务列表,使用。方法获取特定服务的特征值列表。监听蓝牙适配器状态变化:使用。初始化蓝牙适配器:使用。

2023-07-07 17:53:32 1014

原创 启动Docker容器报错docker: Error response from daemon: driver failed programming external connectivity on x

iptables: No chain/target/match by that name.

2023-06-07 10:00:28 465

原创 在Vue中,向上通信(从孙子到爷爷)的常用方法有以下几种:

访问根组件,再使用深度优先搜索遍历其子孙组件,找到爷爷组件,调用其方法。注:这里提供的只是几种可能的方法,具体使用要根据实际情况选择。获取爷爷组件中的属性或方法,间接调用其方法。访问爷爷组件,调用其方法。提供一个函数或对象,让孙子组件使用。下面简单介绍这三种方法的使用。vue3.0照例只是写法改变。

2023-05-11 11:09:45 3164 1

原创 useEffect

useEffect

2023-03-28 17:56:36 110

原创 ES深层解构

ES深层解构。

2023-03-27 17:46:34 32

原创 @prisma/client did not initialize yet. Please run “prisma generate“ and try to import it again.

@prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.

2023-03-21 17:28:02 850

原创 vue引入luckysheet插入图表时报错Uncaught TypeError: h.createChart is not a function

Uncaught TypeError: h.createChart is not a function

2022-10-08 15:13:42 2983 9

原创 Luckysheet 在vue中离线使用方法以及引入报错解决方案

Luckysheet 在vue中离线使用方法以及引入报错解决方案

2022-09-26 11:21:56 1434

原创 vue3.0 带响应式的 provide与inject用法

provide与inject主要用于从父组件向子组件传递数据。在2.0我们通常用props接收来自父组件的参数,但是一个要从父子组件传递到孙子组件,这种情况就得从父组件到子组件,再从子组件传到孙子组件一级一级传递下去;引入 provide与inject就不需要一级一级向下传递。而是只需从父组件provide出去,再在需要用的组件里面inject即可。如图论组件层次结构有多深,父组件都可以作为其所有子组件的依赖提供者。这个特性有两个部分:父组件有一个 provide 选项来提供数据,子组件有一个

2022-05-13 14:37:05 3223 1

原创 element el-cascader el-select @change expand-change自定义参数传递和接收

方法一:参数传递<el-cascader v-model="value" :options="List" @expand-change="handleChange($event,'222')" /><el-cascader v-model="value" :options="List" @change="handleChange($event,'222')" />参数接收 handleChange(value, path) => {

2022-05-05 10:55:22 3135

原创 vue中<router-view> can no longer be used directly inside <transition> or <keep-alive>

问题:如描述所说[Vue Router warn]: <router-view> can no longer be used directly inside <transition> or <keep-alive>. Use slot props instead就是vue-router不再使用原来的写法,用slot插槽代替原因:检查vue-router的版本一般是4.x以上的都改用了新的写法解决:改成:<router-view v-sl

2022-03-16 18:02:55 10649 1

原创 vue3.0+ts 找不到模块“./XXX.vue”或其相应的类型声明。

报错原因是:typescript 只能理解 .ts 文件,无法理解 .vue文件因此需要给.vue文件加上类型说明文件解决方法:在项目根目录或 src 文件夹下创建一个后缀为 .d.ts 的文件,并写入以下内容:declare module '*.vue' { import type { DefineComponent } from 'vue' // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typ...

2022-03-16 17:03:39 9643 3

原创 vue3+ts+axios请求封装

1.首先安装axiosnpm install axios -S 2.request.ts统一封装的请求接口(本人是在utils里面新建request.ts)import axios from 'axios'import { ElMessage } from 'element-plus'// import store from '@/store'// import { getToken } from '@/utils/auth'export const reques..

2022-03-14 14:56:47 11529 4

原创 vue3.X+vite+elementPlus+ts+vuex项目搭建之五——vue3.x 中路由vue-router配置方法以及vue-router路由的跳转方法以及参数的传递和接收

一、安装npm install vue-router@4二、配置vue-router1.src文件下新建文件夹router与store平级,并配置路由index.tsimport Vue from 'vue'import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router' // Vue.use(Router) export const constRouter:Arra

2022-03-14 11:05:14 1853

原创 vue3.X+vite+elementPlus+ts+vuex项目搭建之四——引入vuex以及store类型定义

目录一、安装vuex二、使用多模块store配置根目录创建store文件夹1.先在module下创建app.ts2.创建index.ts3.挂载在vue实例上4.在逻辑页面ts文件中使用一、安装vuexnpm install vuex@next -Snpm install vuex-composition-helpers@next -S二、使用多模块store配置根目录创建store文件夹1.先在module下创建app.tsimport..

2022-03-10 15:57:30 3674

原创 vue3.0+vite+elementPlus+ts项目搭建之三——使用proxy配置代理转发以及配置使用@路径引入

一、proxy配置代理转发+变更启动端口主要是为了解决跨域vite.config.ts文件中import { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import AutoImport from 'unplugin-auto-import/vite'import Components from 'unplugin-vue-components/vite'import { ElementPlusReso

2022-03-09 14:53:53 3097 1

原创 vue3.0+vite+elementPlus+ts项目搭建之二——引入UI组件elementPlus

一、安装elemenPlusnpm install element-plus --save二、引入elementPlus跟elementUI一样有全局引入和按需引入两种方式1.全局引入在main.ts中引入import { createApp } from 'vue'import App from './App.vue'++import ElementPlus from 'element-plus'const app = createApp(App)++app.us..

2022-03-09 09:29:25 1868

原创 vue3.0+vite+elementPlus+ts项目搭建之一——vite脚手架搭建基础demo

目录一、安装vite二、创建基础demo三、启动基础demo一、安装vite使用npmnpm create vite@latest使用yarnyarn create viteVite 需要Node.js版本 >= 12.0.0。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。二、创建基础demonpmnpm create vite@latest my-vue-app -..

2022-03-08 11:43:03 1358

原创 vite 配置使其他人能够访问本机项目,解决“vite use `--host` to expose”

是因为IP没有做配置,所以不能从IP启动,所以通过IP无法访问。需要在vite.config.js做相应配置:在vite.config.js中添加server.host为0.0.0.0export default defineConfig({ plugins: [vue()], server: { //使用IP能访问 host: '0.0.0.0' }})保存后就可以通过网络暴露使用IP访问项目...

2022-03-08 10:08:17 3817

原创 mysql安装教程

mysql入门

2022-01-12 16:22:13 288

原创 常见面试问题总结

一、vue相关https://blog.csdn.net/qq_34645412/article/details/104517005二、react相关三、js相关1.js类的概念和继承2.函数闭包是什么特性和用法3.es6和es7新增知识4.let、var差别5.原型和原型链6.promise7.引用类型和基本类型22.Ajax请求原理23.深拷贝浅拷贝8.强制类型转换和2种隐式类型转换9.split() join() 的区别10.数组方法pop.

2020-10-07 20:31:55 653

原创 vue 报错 Uncaught TypeError: Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘

Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' at Module......原因:webpack版本过高,通常出现在拉了别人的代码跑不起来的情况,解决办法:1.删除node_moudules,安装指定版本的webpack2.根目录找到.babelrc文件,注释掉"transform-runtime"...

2020-08-18 09:28:36 1014

原创 vue 请求统一封装和调用

1. request.js统一封装的请求接口/* * @Author: your name * @Date: 2020-03-20 14:17:34 * @LastEditTime: 2020-03-26 11:27:50 * @LastEditors: your name * @Description: In User Settings Edit * @FilePath: 。。。。。。。。。。 */import axios from 'axios'import { Message

2020-06-03 16:52:55 7558 2

原创 vue组件的继承用法

vue组件的继承适用于UI几乎一样,只是数据不一样的情况下,但是这种情况通过统一封装组件也是能实现的,小功能建议用封装,大功能建议用组件继承,因为大功能在结合搜参数的需要多重的判断,这样会导致封装的组件比较繁杂,出现过多的判断,用继承可以改写基类中的方法和数据下面来看个例子基类:<!-- * @Author: your name * @Date: 2020-05-26 15:22:12 * @LastEditTime: 2020-05-27 11:40:49 * @LastEdi

2020-05-27 14:30:50 22583 5

原创 深拷贝和浅拷贝的区别和与原理

一、基本类型和引用类型https://blog.csdn.net/qq_34645412/article/details/104840390二、浅拷贝和深拷贝如图所示:obj2是对obj1的浅拷贝,obj2新建了一个对象,但是obj2对象复制的是obj1的指针,也就是obj1的堆内存地址,而不是复制对象本身。obj1和obj2是共用了内存地址的。obj3是对obj1的深拷贝,obj3和obj1不共享内存因此:浅拷贝只复制指向某个对象的指针,而不复制对象本身,相当于是新建了一个

2020-05-25 16:52:49 5991 5

原创 vue全家桶项目搭建之五——vue 中路由vue-router配置方法以及vue-router路由的跳转方法以及参数的传递和接收

一、安装vue-routernpm install vue-router二、配置vue-router1.src文件下新建文件夹router与store平级,并配置路由/* * @Author: jona * @Date: 2020-05-15 11:30:33 * @LastEditTime: 2020-05-15 15:19:41 * @LastEditors: Please set LastEditors * @Description: 路由 * @FilePath: \

2020-05-18 16:48:24 843 2

原创 vue常见面试问题总结

1.谈谈你对MVVM的理解定义:MVVM分为Model、View、ViewModel 。Model:代表数据模型,数据和业务逻辑都在Model层中定义,俗称的dataView:代表UI视图,负责数据的展示,俗称的html部分,也叫模板部分ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作,在这里是作为一个桥梁来连接Model和ViewMode...

2020-05-15 11:27:20 1168 1

原创 vue全家桶项目搭建之四——vue 中配置vuex以及vuex的使用方法

一、安装vuexnpm install vuex --save二、将vuex配置到vue中1. 在src目录下创建store文件夹在store文件夹下面创建module文件夹用于存放不同功能的store目录如下2.index.js对vuex进行配置导出index.js里面配置import Vue from 'vue';import Vuex from 'vuex';Vue.use(Vuex);import login from "./module/login

2020-05-15 10:12:06 2030

原创 vue全家桶项目搭建之三——vue cli4.0+中使用proxy配置代理转发以及配置使用@路径引入和eslint配置

目录一、vue cli4.0+中使用proxy配置代理转发二、配置使用@路径引入三、改变vue项目启动的端口号和 项目启动时自动在浏览器中打开一、vue cli4.0+中使用proxy配置代理转发这个比较的重要,所以单独提出来首先在demo的根目录下面新建vue.config.js一个文件,注意是新建,vue-cli3.0以后没有这个文件了所以需要自己新建一个如图:module.exports = { devServer: { proxy: {..

2020-05-13 16:38:32 6419

原创 vue全家桶项目搭建之二——配置UI (将element-ui配置到vue项目当中)

一、安装element-uinpm i element-ui -S二、引入 Element这里你可以引入整个 Element,或是根据需要仅引入部分组件也就是俗称的按需加载。1.完整引入在main.js里面配置import Vue from 'vue';import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css'; //样式要单独导入import App from './Ap

2020-05-13 15:25:54 2202

原创 vue全家桶项目搭建之一——vue-cli 4.0+ 脚手架搭建基础demo

一、安装脚手架npm install -g @vue/cli安装完成后看看版本vue --version二、创建一个基础demovue create test这里会出现一个基础demo模板的选择,很多人不知道命令行里面的选择是怎么选择的。这里我用的是直接选择需要的模板序,然后回车选择,默认第一个的序号是1。选择自己需要的模板进行基础demo的创建,具体的模板有些什么看官网:https://cli.vuejs.org/zh/guide/creating-a-pro

2020-05-13 15:04:04 1680

原创 javascript中的原型与原型链

一、什么是原型原型:每一个javascript对象(除null外)创建的时候,都会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型中“继承”属性。例如var obj = new Object();创建一个对象的时候都会同时关联一个对象,如图,关联的这个对象就是新建的对象obj的原型二、prototype在JavaScript中,每个函数都有一个pr...

2020-05-09 17:07:46 22608 27

原创 vue父组件值更新子组件值不更新之el-table下的table-column中template下元素或子组件值不更新

问题:element-ui中table-column中有循环,子cell又是使用template(scope)渲染的,当循环数据更新(push,splice,或者重新赋值)时,可能出现子cell不变的情况,从而导致页面元素和循环数据对不上的报错问题猜测:可能是template中的scope没有变化导致不更新,或者element-ui做了优化避免不必要更新导致的bug解决:在table上加上...

2020-03-30 19:56:53 3467

原创 基本类型和引用类型区别

1.基本类型包括:string,number,boolean,null,undefined,symbol2.引用类型包括:Function,Array,Object基本类型和引用类型也有人叫原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,可变类型和不可边类型3.基本类型基本类型是按值访问的,引用类型是按引用访问3.1 基本类型的值是不可变的由于基本类型本...

2020-03-13 16:13:28 8808 2

原创 css实现垂直方向上的居中方式

(1)偏移量解决思路:首先水平方向居中margin:0auto,不必多说其次让居中元素脱离文档流,使它距离top50%,这样的结果就是元素本身的顶部到达盒子的中间position:relative;//脱离文档流top:50%;//设置top50%一半最后:再把元素本身上移本身的一半就实现了垂直居中(为什么是一半的高度?因为刚刚偏移了50%顶部...

2020-03-04 16:45:08 2014

原创 瀑布流的实现方式

1.瀑布流的实现方式2.实现垂直方向上的居中方式3.谈谈绝对定位和相对定位

2020-03-03 16:51:22 1159

原创 为什么double型的0.29*100让后结果是28.999999999999996

开发遇到的很奇怪的问题0.35*100 =350.29*100=28.999999999999996查了一些资料 都说是计算机存储问题。对float或double有这样的情况。前端js解决方式parseFloat((0.29*100).toPrecision(12)) //29ps:计算尽量放在后台进行,前端失精太严重...

2020-03-03 14:49:42 1348

vuedemo - 副本.zip

基于vue脚手架的一个vue全家桶demo,这是一个基础的demo,融进了vue + vue-cli 4.x + vue-router + element + vuex + axios + 代理转发 基础demo,可以做官网的基础demo,在基础上根据ui开发,也可以在基础上开发后台管理系统,也可以开发app,github地址:https://github.com/tutuQin/vue-base-demo

2020-05-19

原型与原型链的实战代码.html

原型和原型链整体例子从原型的创建,原型与对象的关联关系,实例与原型的关系以及原型链的形成和运用等等均做了例子的说明

2020-05-19

空空如也

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

TA关注的人

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