自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue 批量自动引入并注册组件或路由实现详解

这样就是全局注册了,使用的时候就不用一个一个的import了,这种做法小项目可以用,但是大型项目太多文件都全局注册恐怕会影响性能;按照这个思路,比如路由啊,api啊还有状态管理这些模块化的,大量的文件都不需要手动import了,只要你创建了这个文件,就会被自动读取;有时候有大量的组件.vue后缀的,或.js,或.ts文件, 需要一个个的手动引入很麻烦,那么你可以尝试这样创建一个index.js。这样你就得到了一个数组,数组里面多个组件的对象,有名字,有组件内容,详情可以自己打印试试;

2023-10-22 05:00:00 442

原创 Vue3中props的原理与使用

props指父组件往子组件中传入参数,我们来介绍下如何理解vue3的props的原理了解其原理之前我们要清楚vue的虚拟节点是什么,有什么表现。虚拟节点主要分成两种,分别是组件类型及元素类型,当然还有文本类型等特殊的虚拟节点。虚拟节点都会接收三个基本参数,分别是type, props, children对于组件类型而言:type是一个对象里面包括基本的render函数及setup函数等render() {return h() // render函数返回一个虚拟节点setup() {}

2023-10-21 10:00:00 1866

原创 前端面试基础题库——1

闭包是指嵌套在函数内部的函数,它可以访问其它函数作用域中的变量,即使这些变量在函数调用结束后仍然存在。闭包的特点:1.可以访问函数外部的变量2.内部函数持有外部函数作用域3.可以访问外部函数的参数和局部变量4.外部函数返回后,内部函数仍然会持有外部函数作用域闭包的应用场景:1.封装类库,隐藏内部实现细节2.延迟执行,如事件绑定和回调函数3.模拟块级作用域,如在循环中创建定时器4.作为立即执行函数 (IIFE)使用,防止变量污染全局命名空间。

2023-10-21 08:00:00 178

原创 前端面试基础题库——2

事件委托是指将事件处理程序绑定到父元素上,通过事件冒泡的机制在父元素上捕获所有的子元素事件。事件委托的优点是可以避免为每个子元素都添加事件处理程序的重复性工作,减少浏览器内存的消耗,并且可以处理动态添加的元素,提高代码的灵活性;JavaScript 是一种基于原型的语言,利用原型和原型链机制可以实现对象的继承和共享属性和方法的复用。越来越多的设备和场景也将需要前端适配,前端开发的工作将更加丰富和多样化。SEO 是指搜索引擎优化,可以通过针对搜索引擎的特定算法进行网站优化,提高网站在搜索引擎中的排名。

2023-10-20 12:30:00 113

原创 前端面试基础题库——3

CSS 中的选择器包括基本选择器、组合选择器、伪类选择器和伪元素选择器等。JavaScript 中的作用域指的是变量、函数和对象等的可访问范围。全局作用域是指在整个脚本中都可以访问的变量或函数,局部作用域是指在函数内部定义的变量或函数,块级作用域是指在代码块中定义的变量或函数 (ES6 新增)。JavaScript 中的 ES6 中的箭头函数是一种新的函数定义和调用方式,用于创建匿名函数和简化函数定 义,可以使用箭头“=>”来代替 function 关键字,并且具有自动绑定 this 的特性。

2023-10-20 06:00:00 50

原创 前端面试基础题库——4

JavaScript 中的 AJAX(Asynchronous JavaScript and XML) 是一种用于创建异步请求和处理服务响应的技术,将数据发送到服务器和从服务器接收数据都是异步进行的,不会干扰页面的正常操作。JavaScript 中的模块化开发是一种将代码分离成更小、更容易管理的块的一种方法,可以将代码分成独立的模块,同时可以避免全局变量污染和命名冲突等问题。递 归的应用包括处理复杂的数学计算、解决复杂的问题(如数据搜索、遍历、排序等)和处理复杂的数据结构等。

2023-10-19 09:14:05 55

原创 前端面试基础题库——5

JavaScript 中的模块化是指将代码分割为独立的模块,有利于组织代码结构和提高开发效率。JavaScript 中的对象原型是一种用于描述对象和继承关系的一种方式,每个对象都有一个原型,原型对 象相当于为该对象定义了一组共享属性和方法。JavaScript 中的 call和 apply 方法是两种用于动态改变函数的 this 指针的方法,可以将函数作为对象 的方法或使用原型对象进行调用。原型链的作用在于,在子对象中查找和使用父对象的属性和方法,从而实现对象的继承和复用,为面向对象编程提供基础支持。

2023-10-19 09:13:33 37

原创 前端优化的几种方法和底层原理

兼容性问题是指不同浏览器或终端设备对 Web 标准的实现不同而导致的问题。解决兼容性问题可以从以下几个方面入手:● 使用标准的 Web 技术和语法,避免使用特定于某个浏览器的代码。● 使 用CSS Reset 和Normalize.css 等工具规避浏览器默认样式差异。● 使用 Modernizr 和 HTML5 Shiv 等工具解决浏览器对 HTML5 和 CSS3 的支持不足问题。

2023-10-13 13:30:00 65

原创 前端面试基础题库——7

不给予用户明确的回应,没有恰当的预读数据,或者对 XMLHTTPRequest 的不恰当处理, 都会使用户感到延迟,这是用户不希望看到的, 也是他们无法理解的。generator 函数就是一个封装的异步任务, 也就是异步任务的容器,执行 Generator 函数会返回一个遍历器对象,async 函数的实现,就是将 Generator 函数和自动执行器,包装在一个 函数里。标记“离开环境”的就回收内存。当函数执行的时候, 一旦遇到 await 就会先返回,等到异步操作完成,再接着执行函数体内 后面的语句;

2023-10-13 06:00:00 54

原创 偏底层理论的相关知识点

为了防止已失效的连接请求报文段突然有送到了服务器, 因而产生错误,假设两次握手时,客户发出的第一个请求连接报文段在某一网络节点长时间滞留, 以致延误到连接释放后才 到达服务器。服务器收到失效的连接请求报文段后,认为是客户又发出一次新的连接请求。于是 向客户发送确认报文段,同意建立连接, 此时在假定两次握手的前提下,连接建立成功。这样会导致服务器的资源白白浪费。

2023-10-12 21:00:00 55

原创 开发流程及vue的相关原理

push()、pop()、shift()、unshift()、splice()、sort()、reverse()这些 方法会改变被操作的数组;filter()、concat()、 slice()这些方法不会改变 被操作的数 组,返回一个新的数组;产品提出需求-- 画出原型图-- 需求评审会议-- 安排工期(各部门制定)--- UI 设计图-- 前端开发-- 后端开发(顺序不一定)-- - 测试阶段-- 上线--- 回测里 程碑小结--->维护项目。2、Vue 路由的懒加载。

2023-10-12 07:45:00 70

原创 uni-app语音转文字功能demo(小程序同声翻译开箱即用)

version版本最好是0.3.3,高于此版本可能会无法使用,并且provider应该都是这个,所以复制即用!至此同声翻译就可以使用了,本文主要使用的是录音完毕后,提供播放录音及翻译录音两个选项,也可以改动后支持同声同步翻译。在mp--weixin的appid(千万别看错了,上方还有一个AppID)同级下写插件的相关信息。新建项目后,选中manifest.json文件,切换至源码视图(右侧菜单栏最下方!demo复制即可使用,只需要修改图片,如果真机运行报错,建议切换真机1.0进行测试。

2023-10-11 18:30:00 2340

原创 Vue中Axios的简单封装

这里的get方法使用了Axios实例的get方法,并且在请求时传入了url和params,这样就可以发送GET请求。在请求成功时,我们使用Promise将返回的数据resolve出去,在请求失败时,将错误reject出去。在这个文件中,我们定义了一个Axios实例,并且添加了请求拦截、响应拦截器。这样在发送请求时,就会先经过请求拦截器进行处理,在响应时也会先经过响应拦截器进行处理。在config.js文件中已经定义了Axios实例,我们可以根据需要创建不同的请求方法。data:请求的数据。

2023-10-11 12:30:00 212

原创 vue中watch监听路由传来的参数变化问题

一个组件内写了个编程路由,通过交互触发在接收参数的路由组件中watch内这样直接监视传来的参数有效如果用data接收参数,在监视就没效在data内vue-router如何响应路由参数的变化(watch监听|导航守卫)什么是路由参数的变化当使用路由参数时,例如从/user/foo导航到/user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。监测路由参数变化的方法(watch监听|导航守卫)

2023-10-10 13:36:51 995

原创 vue实现多个el-form表单提交统一校验的2个方法

-- 表单内容 -->-- 表单内容 -->提交

2023-10-10 13:34:38 1934

原创 TS类型声明之二

【代码】TS类型声明之二。

2023-07-19 16:03:56 145

原创 vue3组件TS类型声明实例代码

基于类型的方式更加简洁,但失去了定义 props 默认值的能力。这被称为 运行时声明 ,因为传递给 defineProps() 的参数会作为运行时的 props 选项使用。这被称为 基于类型的声明 ,编译器会尽可能地尝试根据类型参数推导出等价的运行时选项。

2023-07-19 14:47:01 242

原创 vue 动态路由component 传递变量报错问题解决

如果动态参数,以下三种都会报错,页面空白。name为组件页面地址。

2023-07-19 14:38:13 251 1

原创 微信小程序四种弹窗方式实例

wx.showLoading 和 wx.showToast 同时只能显示一个wx.showLoading 应与 wx.hideLoading 配对使用。四、wx.showActionSheet(Object object)三、wx.showLoading(Object object)二 、wx.showModal(Object object)

2023-07-18 10:23:05 1106

原创 React 三大属性之state的使用详解

React中很多地方需要用到数据,这在React中被叫做状态,我们需要一个专门管理状态的方法,于是state相关的就诞生了。state应该被要求有两个基本功能,一,能够存储一定的值,从而能被react使用,二,能够再它改变的时候被React监听到并且重新渲染。

2023-07-17 22:00:00 297

原创 通过HTML+CSS实现折叠样式完整代码

通过html+css实现折叠样式。

2023-07-17 18:45:00 1263

原创 分分钟学会vue中vuex的应用(入门教程)

"store" 基本上就是一个容器,它包含着你的应用中大部分的状态(state)。当映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组。下面我们做一个小的效果(注意:注释的计算属性和下面使用mapState辅助函数2个结果是相同的)在vue中当我们管理数据的时候比较乱,我们要用到下面的这个库,vuex.js。每一个Vuex应用的核心就是store(仓库),他是用来存储数据的。我们从store里面获取的数据最好放到计算属性中。数据我们放到state里面。

2023-07-17 16:30:00 67

原创 移动端H5实现拍照功能的两种方法

移动端H5实现拍照功能的两种方法。

2023-07-17 15:30:00 7229 3

原创 fixed固定定位transofrm失效的解决

然后,我们在该元素内部再创建一个 div 元素,并将其设置为绝对定位,同时使用 translate 属性将其水平和垂直居中。具体来说,我们将该元素的 display 属性设为 flex,然后使用 align-items 属性将其垂直居中,使用 justify-content 属性将其水平居中。造成这个问题的原因是,固定定位下的元素默认会受到图层剪裁(clipping)的影响,而 transform 属性需要开启硬件加速才能生效。因此,需要通过一些小技巧来解决这个问题。

2023-07-17 14:00:00 601

原创 Promise封装Axios进行高效开发

(3)若是axios.then()里面在嵌套多次访问后台请求,业务变得极其复杂,且代码不利于查看。(2)后期一旦不使用axios,改用其它第三方访问后端插件,一个个文件去修改。npm install axios //安装axios依赖。npm run dev //运行项目。(2)request.js 配置axios。npm i //安装依赖。(3)xxx.js中封装axios。//输入项目名称,选择vue。(4)在App.vue使用。uni-app和小程序中。

2023-07-17 08:10:19 120

原创 关于代理模式的相关配置方法

在实际使用中,通常需要定义一个公共接口及其方法,被代理对象(目标对象)与代理对象一起实现相同的接口或继承相同的父类。动态代理的好处在于不需要和静态代理一样提前写好公共的代理接口,只需要实现Invocation接口就可拥有动态代理能力。在 Java 中,根据代理的创建时期,可以将代理模式分为静态代理和动态代理,下面就来分别阐述。一、代理模式介绍 代理模式在不改变原始代理类的情况下,通过引入代理类来给原始类附加功能。二、代理模式实现 动态代理和静态代理的区分就是语言类型是在运行时检查还是在编译期检查。

2023-07-17 07:57:35 71

原创 react简单实现防抖和节流

在日常开发中,我们经常会有防抖和节流的需要,可以减小服务器端压力,提升用户体验,本文就详细的介绍了react简单实现防抖和节流。

2023-07-04 10:33:39 755

原创 React的生命周期详解

React是用于构建用户界面的JavaScript库。本文详细讲解了React的生命周期,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

2023-07-04 10:32:07 554

原创 关于uni-app页面Page和组件Component生命周期执行的先后顺序

一般情况下,主要使用的周期函数如下,他们的执行顺序是固定的。H5和微信小程序的生命周期函数调用顺序不一致。

2023-06-29 09:47:48 632

原创 最新版微信小程序中使用vant框架的操作流程

去除,原因是小程序强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。我这里在全局里面注册一个按钮,然后使用它。先去app.json中注册。内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。4.6然后点击右上角的详情---本地设置----使用npm模块。4.4 修改 project.config.json。在其外部,npm 构建无法正常工作。安装完毕后,你会发现你的目录中又多些文件。4.3 修改 app.json。将 app.json 中的。开发者工具创建的项目,

2023-06-29 09:46:55 149

原创 小程序背景音乐及音频播放demo(copy直接使用~)

从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。获取全局唯一的背景音频管理器。小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。2、onUnload和onHide事件中暂停音乐的播放。4、在播放结束的事件中,再次播放,以达到循环播放的效果。3、onShow中调用播放事件。

2023-06-29 08:50:34 911 4

原创 傻瓜式搭建一个vue项目的完整步骤

1、在国内下载时网络会出问题,建议淘宝镜像下载,配置镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org。2、用cnpm安装vue脚手架:cnpm i -g @vue/cli(其中i是Install安装的简写,g是global全局的简写)。2、检查npm,node自带npm但不是最新版本,需要命令更新:npm install -g npm。1、使用脚手架创建vue项目:vue create test(test为项目名)

2023-06-28 14:00:00 110

原创 JavaScript操作数组的常用方法总结

结果:["张三", "李四", "王五", "Tom", "Jack", "TM"]结果: ["第一个", "张三", "李四", "王五"]结果: ["张三", "李四", "王五", "赵六"]结果: ["abc", "abcd", "aaa"]向数组的末尾添加一个或更多元素,并返回新的长度。向数组的开头添加一个或更多元素,并返回新的长度。结果: ["王五", "李四", "张三"]结果: ["张三", "赵六", "王五"]结果: ["张三", "李四", "王五"]结果: ["李四", "王五"]

2023-06-28 13:00:00 38

原创 js中对象如何实现深拷贝

如果不在对象中使用Date、functions、undefined、Infinity、RegExps、Maps、Sets、blob、FileLists、ImageDatas、或其他复杂类型,则深入克隆对象库可以使用非常简单的一行代码。它将所有可枚举的自身属性的值从一个对象复制到另一个对象。原生手写深拷贝代码,在面试当中经常遇到,虽然在实际项目开发中不是很常用,但大家还是需要熟练掌握手写代码的思想,因为真的面试经常考到呀~MessageChannel 也是一个可以实现深拷贝的方式。

2023-06-28 12:00:00 50

原创 vue中 v-for循环的用法详解

v-for循环的时候,key属性只能使用number或String。key在使用的时候,必须使用v-bind属性绑定的形式,指定key的值。在组件中使用v-for循环的时候,或者在一些特殊情况中,如果v-for有问题,必须在使用v-for的同时,指定唯一的 字符串/数字 类型 :key值。注意:push()方法一般是添加到数组的最后的位置;unshift()方法是往最前面的位置添加。① 创建vue实例对象。①创建vue对象实例。①创建vue对象实例。①创建vue对象实例。

2023-06-28 07:57:40 1021

原创 Vue.js 目录结构

这里是我们要开发的目录,基本上要做的事情都在这个目录里。

2023-06-28 07:55:18 39

原创 微信小程序之五种页面跳转方法小结

通过构造js函数,在函数中调用该接口可实现页面跳转的效果.但该接口同样不能跳转tabbar页面.跳转后左上角有返回小箭头,点击可返回原本页面.这是最常见的一种跳转方式,相当于html里的a标签.但需要注意的是 该方法不能跳转tabbar页面.跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面;该方法只能跳转tabbar页面.关闭当前页面,跳转到应用内的某个页面(不能跳转tabbar页面)。跳转后左上角出现返回小箭头,点击后可返回原本页面.关闭所有页面,打开到应用内的某个页面。

2023-06-28 07:52:14 1901 6

原创 vue3课程笔记-组件化开发

数组用法只能传入attribute的名称,并不能对形式做限制和传入默认值。来完成组件之间的通信。

2023-06-27 14:47:13 77

原创 MySQL基本命令

删除表emp中name=‘xiaoming’的记录。更新emp表id=1的age为18。创建一个表emp,表结构复制student表。select 性别字段,平均(年龄)from 表名 group by 性别字段。Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎。⭐️id是AUTO_INCREMENT 可以不添加,也可以添加。

2023-06-27 14:18:54 37

原创 小白笔记——vue全局组件注册和全局js引入

注意:太多的全局组件注册,会导致进入首页的文件量变大,所以尽量考虑将哪些最常用的且文件较小的组件进行全局引入,其他组件还是在需要的页面再引入。有一些常用的组件或者js库,可能大部分页面都要使用,频繁的import未免显得啰嗦,这时可以考虑通过全局引入的方式实现。js库的引入很简单,通过Vue.prototype即可。可以分为这两种,引用单个组件、引用某个文件夹下全部组件。全局注册的行为必须在根 Vue 实例 (通过。main.js 全局js引入核心代码。先看比较简单的js库全局引入。

2023-06-27 13:55:37 1234

空空如也

空空如也

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

TA关注的人

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