前端
文章平均质量分 52
无名之辈无名之辈
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uviewplus在uniapp中的配置使用
这个配置有点奇怪,写一下,我怕忘了原创 2024-03-06 00:25:00 · 1297 阅读 · 0 评论 -
微信小程序,h5端自适应登陆方式
uniapp开发中的使用原创 2024-03-02 22:06:10 · 738 阅读 · 0 评论 -
手搓vue3组件_1.封装一个button
生效,这里是给class传入了一个数组,如果你查看elementui的源码,会发现他们也是这样实现组件的type的切换,用过了才知道这个技巧是如此好用。这里的逻辑是点击左侧的item,赋值文字,但是这里的子组件没有定义click的处理事件,上面的button也是,可能会报这种错,这样没问题可以,但是有时会报错,click不是原生事件,这里我没有复现,淡然,你也可以在复习bug的时候想起这篇文章。注意这里的代码还有很多没有优化,颜色获取,其他自定义type之类的都没有处理,关于更多的细节优化,详见。原创 2023-08-08 23:30:27 · 593 阅读 · 0 评论 -
fragment
关于这个东西,在使用elementui plus中的图片预览组件就有用到,真的好用,而elementui是使用其他方式实现这种方式的。teleport是一种能够将我们组件html结构移动到指定位置的技术。可以发现他的份层级是在。原创 2023-07-26 00:15:19 · 209 阅读 · 0 评论 -
响应式数据的判断
检查一个值是否为一个ref对象。检查一个对象是否是由。原创 2023-07-26 00:11:41 · 261 阅读 · 0 评论 -
响应式数据的判断
检查一个值是否为一个ref对象。检查一个对象是否是由。原创 2023-07-12 00:53:00 · 269 阅读 · 0 评论 -
vue3中的provide
- 作用:实现祖孙件通信 - 套路:父组件有一个provide选项来提供数据,子组件有一个inject选项来开始使用这些数据原创 2023-07-12 00:51:42 · 682 阅读 · 0 评论 -
自定义hook函数
什么是hook? 本质上是一个函数,把setup函数中的Composition Api进行了封装原创 2023-07-12 00:49:27 · 248 阅读 · 0 评论 -
vue3的customRef
#### customRef - 作用:实现一个自定义的ref,并对其依赖项跟踪和更新触发进行显示控制原创 2023-07-12 00:47:38 · 507 阅读 · 0 评论 -
typescript笔记
属性方法class 类名 {静态属性 / 示例属性 方法() {} }示例:// 定义实例属性(通过定义实例才能看到的属性为实例属性) grade : string = '大三';// 当然也可以不写类型 gre = '孙悟空';// 使用static定义静态属性,静态属性要通过类来访问 static word : string = 'fuck you!// 定义只读属性,它无法修改 readonly only : string = 'fuck you only read';原创 2023-03-22 22:37:09 · 637 阅读 · 2 评论 -
移动端适配,华为浏览器底色无法正常显示
第一个是不显示背景色的,第二个是正常样式,这里是只有在手机端的华为浏览器出问题。解决看看代码中颜色的值写的是几个f,我写的是。原创 2022-07-31 00:13:02 · 1647 阅读 · 0 评论 -
css自定义属性
要注意,定义这个自定义变量的所属,是限制该变量的作用范围,还是很方便的,虽然我一般不用css,只用less。原创 2022-07-20 23:46:45 · 403 阅读 · 0 评论 -
微信小程序_19,自定义组件-behaviors
比如在组件的data节点定义一个username为ls,在behavior的data中也定义一个username为ls,那么此时它会优先使用组件中的data。每个behaviors可以包含一组属性,数据,生命周期函数和方法,组件引用它时,它的属性,数据和方法会被合并到组件中。behaviors是小程序中,用于实现组件间代码共享的特性,类似于vue的mixins。每个组件可以引用多个behavior,behavior也可以引用其他的behavior。behaviors挂载时,传入的是数组。...原创 2022-07-20 22:43:24 · 543 阅读 · 0 评论 -
微信小程序_18,父子组件之间的通信
这里点button,但是组件中的count并不会自加,因为界面上展示的count是来自父组件的值,这里就需要用到子组件向父组件传值,事件绑定。2.在父组件的WXML中,通过自定义事件的形式,将步骤1中定义的函数引用,传递给子组件。1.在父组件的js中,定义一个函数,这个函数即将通过自定义事件的形式,传递给子组件。4.在父组件的js中,通过e.datail获取到子组件传递过来的数据。3.在子组件的js中,通过调用。3.在子组件的js中,通过调用。,将数据发送到父组件。,将数据发送到父组件。......原创 2022-07-17 22:57:56 · 489 阅读 · 0 评论 -
微信小程序_17,插槽
在自定义组件的WXML结构中,可以提供一个节点(插槽),用于承载组件使用者提供的WXML结构。在小程序1中,默认每个自定义组件中只允许使用一个进行占位,这种个数上的限制叫做单个插槽。原创 2022-07-16 19:32:12 · 503 阅读 · 0 评论 -
微信小程序_16,组件的生命周期
2.在组件完全初始化完毕,刚进入页面节点树后,attached生命周期函数会被触发。有时,自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期。这里就是组件监听了页面的状态,在每次进入页面时,生成一个随机的RGb值,1.组件实例刚被创建好的时候,created生命周期函数会被触发。3.在组件离开页面节点树后,detached生命周期函数会被触发。新旧两种方式都存在时,会优先使用新的,往后不建议使用旧的方式了。...原创 2022-07-16 17:56:30 · 1669 阅读 · 0 评论 -
微信小程序_15,纯数据字段
例如某些情况下,某些data中的字段既不会展示在界面上,也不会传递给其他组件,仅在当前组件内部使用,带有这种特性的data字段适合被设置为纯数据字段。概念纯数据字段指的是那些不用于界面渲染的data字段。好处纯数据字段有助于提升页面更新的性能。...原创 2022-07-15 23:00:39 · 437 阅读 · 0 评论 -
微信小程序_9,视图与逻辑
页面导航指的是页面之间的互相跳转,例如:浏览器中实现页面导航的方式有如下两种1.链接2.location.href1.声明式导航:2.编程式导航:tabBar页面指的是被配置为tabBar的页面在使用组件跳转到指定的tabBar页面时,需要指定url属性和open-type属性,其中:注意,这里tabBar配置的页面是需要在中的节点下配置了的页面才会进行跳转!导航到非tabBar页面:非tabBar页面指的是没有被配置为tabBar的页面在使用组件跳转到非tabBar页面时,则需要指定ur原创 2022-06-25 23:08:17 · 205 阅读 · 0 评论 -
微信小程序_8,项目练习,本地生活
1.新建项目并梳理项目结构2.配置导航栏效果3.配置tabBar效果4.实现轮播图效果5.实现九宫格效果6.实现图片布局demo:项目demo文件原创 2022-06-22 23:09:13 · 590 阅读 · 1 评论 -
微信小程序_7,网络数据请求
出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制:1.只能请求HTTPS类型的接口2.必须将接口的域名添加到信任列表添加到信任列表:需求描述:假设在自己的微信小程序中,希望请求域名下的接口配置步骤:登录微信小程序管理后台->开发->开发设置->服务器域名->修改request合法域名注意事项:1.域名只支持https协议2.域名不能使用IP地址或localhost3.域名必须经过ICP备案4.服务器域名一个月内最多可申请5次修改下面这里是有问题的,实际上是每个月只能修改五原创 2022-06-20 19:53:06 · 770 阅读 · 0 评论 -
微信小程序_6,页面配置
小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观,页面效果等进行配置小程序中,app.json中的window节点,可以全局配置小程序中每个页面的窗口表现如果某些小程序页面想要拥有特殊的窗口表现,此时"页面级别的.json配置文件"就可以实现这种需求.注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准例如:index的WXML:person的WXML:......原创 2022-06-19 16:47:35 · 327 阅读 · 0 评论 -
微信小程序_5,全局配置
1.pages了解window节点常用的配置项:app.json->window->navigationBarTitleTextapp.json->window->navigationBarBackgroundColor修改导航栏文字颜色:app.json->window->navigationBarTextStyle注意这里的可选值只有black/white概念:下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为app.json->window->ena原创 2022-06-19 16:11:21 · 1532 阅读 · 0 评论 -
微信小程序_4,WXSS模板样式
WXSS(WeiXin Style Sheets)是一套样式语言,用于美化WXML的组件样式,类似于网页开发中的cssWXSS具有CSS大部分特性,同时WXSS还对CSS进行了扩充以及修改,以适应微信小程序的开发,与CSS相比,WXSS扩展的特性有:rpx的实现原理非常简单,鉴于不同设备屏幕的大小不同,为了实现屏幕的自动适配,rpx把所有的设备的屏幕,在宽度上等分为750份(即:当前屏幕的总宽度为750rpx)小程序在不同蛇摆上运行的时候,会自动把rpx的样式单位换算成对应的像素单位来渲染,从而实现屏幕适配原创 2022-06-19 14:20:09 · 493 阅读 · 0 评论 -
微信小程序_3,WXML模板语法
事件是渲染层到逻辑层的通讯方式,通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理当事件出回调触发的时候,会受到一个事件对象event,它的详细属性如下表所示:在开发中,用的比较多的是:,target是触发该事件的源头组件,而currentTarget则是当前事件所绑定的组件,举例如下:点击内部的按钮,点击事件以冒泡的方式向外扩散,也会触发外层view的tap事件处理函数在小程序中,不存在HTML中的onclick鼠标点击事件,而是通过tap事件来响应用户的触摸行为1.通过bindtap原创 2022-06-16 22:24:25 · 337 阅读 · 0 评论 -
微信小程序_2小程序-模板及其配置
微信小程序一些语法格式原创 2022-06-14 22:18:10 · 178 阅读 · 0 评论 -
微信小程序_1,基础配置及其开发工具
微信小程序开发,学习,原创 2022-06-12 17:08:40 · 4316 阅读 · 3 评论 -
22年五月毕设
又一份学术垃圾,哈哈哈原创 2022-06-05 21:45:44 · 404 阅读 · 0 评论 -
UnhandledPromiseRejectionWarning报错send()的处理
先看报错:(node:24460) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of undefined at getAllUser (file:///G:/MarkDownNote/vue/example_code/apiTest/controler/user_ctrl.js:6:6) at processTicksAndRejections (internal/process/t原创 2022-04-12 13:54:15 · 2507 阅读 · 0 评论 -
js的eventloop
javascript是一门单线程语言,同时只能做一件事单线程执行任务队列的问题:如果前一个任务非常耗时,则后续的任务就不得不一直等待,从而导致程序假死的问题同步任务和异步任务:为了防止某个耗时任务导致程序假死,javascript把等待的任务分为了两类:同步任务又叫非耗时任务,指的是在主线程上排队执行的那些任务只有前一个任务执行完毕,才能执行后一个任务异步任务又叫做耗时任务,异步任务由javascript委托给宿主环境进行同步任务和异步任务的执行..原创 2022-04-10 21:26:33 · 684 阅读 · 0 评论 -
async/await
什么是async,await?async/await是es8引入的新语法,用来简化Promise异步操作,在async/await出现之前,开发者之前只能通过链式.then()方法处理Promise异步操作,示例代码如下:console.log('promise保证读取顺序:')thenfs.readFile('./text/11.txt', 'utf8') .catch((err) => { console.log(err) }) .then((r1) => { con.原创 2022-04-09 18:10:36 · 343 阅读 · 0 评论 -
promise封装读取文件
方法封装要求:1.方法名称要定义为:getFile2.方法接受一个形参fpath,表示要读取的文件的路径3.方法的返回值为Promise实例对象获取.then()的两个实参:通过.then()指定的成功和失败的回调函数,可以在function的形参中进行接受,示例代码如下:调用resolve和reject回调函数:Promise异步操作的结果,可以调用resolve或reject回调函数进行处理,实例代码如下:getFile方法的基本定义:import fs from .原创 2022-04-09 16:41:38 · 718 阅读 · 0 评论 -
Promise.all()和Promise.race()
promise.all()Promise.all()方法会发起并行的promise异步操作,等所有的异步操作全部结束,才会执行下一步的.then()操作(等待机制),实例代码:import thenfs from 'then-fs'const promises = [ thenfs.readFile('./text/1.txt', 'utf8'), thenfs.readFile('./text/2.txt', 'utf8'), thenfs.readFile('./text/3.txt'.原创 2022-04-09 15:54:39 · 418 阅读 · 0 评论 -
then-fs的使用
由于nodejs官方提供的fs模块仅支持以回调函数的方式读取文件,不支持promise的回调方式,因此,需要先运行如下命令,安装then-fs这个第三方包,从而支持我们基于promise的方式读取文件内容:调用then-fs提供的readFile()方法,可以异步地读取文件的内容,它的返回值是Promise的实例对象,因此可以调用.then()方法为每一个Promise异步操作指定成功和失败之后的回调函数读取文件:import thenfs from 'then-fs'thenfs.r..原创 2022-04-09 14:15:02 · 1923 阅读 · 0 评论 -
mongodb删除文档
mycode:db.person.insert([{name:'zs', age:18},{name:'zs', age:19},{name:'ls', age:20},{name:'ls', age:21},{name:'ww', age:22},{name:'zl', age:23},])//注意点:和update方法不同,remove默认会删除满足条件的所有数据db.person.remove({name:'zs'})//删除第一个满足条件的数据:db.pe.原创 2022-03-06 11:55:31 · 855 阅读 · 0 评论 -
mongodb数组更新操作符$addToSet
mycode://example:db.person.insert([{name:'zs', books:[{name:'html', price:66}, {name:'js', price:88}], tags:['html', 'js']},{name:'ls', books:[{name:'vue', price:99}, {name:'node', price:199}], tags:['vue', 'node']}])//在name为zs的字段中的tags增添一个vuedb..原创 2022-03-01 21:13:38 · 5866 阅读 · 0 评论 -
mongodb更新操作符$min,$max
mycodedb.person.deleteOne({name:'lnj'})db.person.insertOne({name:'zs',age:18})//$min是用min指定的值和原来的值比较,看谁小,留下下的数值db.person.updateOne({'name':'zs'},{$min:{age:5}})//$max是用max指定的值和原来的值比较,看谁大,留下大的数值db.person.updateOne({'name':'zs'},{$max:{age:33}})/.原创 2022-03-01 21:11:50 · 1018 阅读 · 0 评论 -
mongodb更新操作符$unset
mycodedb.person.find()//这里要删除ls的score字段,随便给一个值即可db.person.update({‘name’:‘ls’},{$unset:{‘score’:’’}})//注意:如果使用unset删除某一个字段,那么后面赋值为任何内容都不重要//删除文档字段中的字段db.person.update({name:‘ww’},{$unset:{‘book.price’:’’}})//删除数组字段中的元素,//这里删除中间的元素并不会修改它的长度,只会填为nu.原创 2022-03-01 21:09:02 · 3563 阅读 · 0 评论 -
mongodb更新操作
更新文档MongoDB中有三个常用的更新方法: save()/update()/findAndmodify()save方法save用于往集合里添加一个新文档或者覆盖文档当没有指定文档_id的时候就是新增当指定了集合中已经存在的_id的时候就是覆盖示例db.person.insert([{name:'zs', age:18},{name:'ls', age:19},{name:'ww', age:20},{name:'zs', age:21},])update方法db.col转载 2022-03-01 21:07:37 · 6442 阅读 · 0 评论 -
关于js中的判断数组为空的问题
如果你在查询一个文档,它啥都没存,但是doc就是返回了一个[]: User.find({email: userEmail}, {avatar: 1}, function (err, doc) { let usericon = doc[0].avatar; markdownFile.find({}, { markdownId: 1 }, function (err, doc) {原创 2022-02-09 21:53:13 · 620 阅读 · 0 评论 -
02_使用jq实现进入和离开动画
前言:csdn上写博文无法上传本地视频,上传到哔哩哔哩又嫌麻烦,查看效果请移步我的博客创建进入时的动画:这一步很简单index.html:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>test3</title> <link rel="stylesheet" type="text/less" .原创 2021-09-15 21:16:38 · 601 阅读 · 0 评论
分享