- 博客(31)
- 收藏
- 关注
原创 uni-app 生命周期
在我们使用uni-app编写开发小程序的时候,常常会使用到生命周期函数,那么uni-app里的生命周期函数和我们之前所使用的有什么不同呢?一起跟着作者的脚步看一下吧。uni-app框架的生命周期分为两种 : 应用中的生命周期 和 页面内的生命周期1. uni-app 应用生命周期生命周期的概念:一个对象从创建、运行、销毁的整个过程被成为生命周期。生命周期函数:在生命周期中每个阶段会伴随着每一个函数的触发,这些函数被称为生命周期函数uni-app 支持如下应用生命周期函数:函数名 说明
2023-03-05 18:09:44
1241
原创 Git如何搭建远程仓库
Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。这就需要一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。那么如何使用Git 连接远程仓库呢? 远程仓库->一般指的是代码托管平台。 那就先来看看三个较熟悉的版本(代码)托管服务平台。版本(代码)托管服务平台码云(gitee.com):是开源中国社区团队推出的基于Git的快速的、免费的、稳定的在线代码托管平台,不限
2023-02-23 09:42:10
6469
原创 重生之我在CSDN学Git -- Git分支管理
分支是什么几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作为什么要使用分支开发能同时并行推进多个功能的开发,提高工作效率各个分支在开发过程中不影响,一个分支开发失败不会影响到其他分支,失败的分支直接删除,拉取重新开发就可以3.分支操作步骤在我们git init初始化git仓库并第一次提交到本地仓库以后,都会默认生成一个master主分支在实际工作中,master主分支的作用是:用来保存和记录整个
2023-02-21 20:16:28
241
原创 重生之我在CSDN学Git -- Git在本地进行的操作
Git是如何工作的如果想要认识Git,我们需要先了解两个重要概念:状态 和 区域关于状态Git 提供了三种(也可以说是四种)不同的记录状态已修改(modified)已暂存(staged)已提交(committed)有一个特殊的状态未追踪(Untracked)关于区域Git 提供了三个不同的工作区,用来存放不同的内容工作目录暂存区域Git 仓库想要详细了解三个不同的区域,可以看我本系列上一篇文章: 重生之我在CSDN学Git – Git的用途以及工作流程Git的安
2023-02-21 07:30:00
249
原创 Vue3.0 Vite和Vue-cli简述
Vue-cli是Vue2.0最棒的前端构建工具,是WebPack的超集Vue-cli 基于WebPack构建,配置好了打包规则;内置了热模块重载的开发服务器;有丰富的官方插件合集,站在webpack庞大的社区资源上友好的图形化创建和管理Vue项目界面 : vue uiVue-cli在(前端)服务启动之前,要把所有代码打包成Bundle再启动服务,这也是为什么一个些大型项目 启动时,特别慢的原因。这一点在Vite做了大幅度改善Vite是Vue团队开发的新一代前端开发与构建工具,Vite不是基于webp
2023-02-19 00:23:58
515
原创 Vue3.0 重构Vue2.0后台管理项目
步骤1 新建Vue3.0项目这里我是选择使用 Vite 创建项目,感兴趣的小伙伴也可以使用vue-cli的方式创建。命令提示符里执行 : npm init vite-app project-name // 项目名 cd your-project-name // 进入对应路径 npm install //安装依赖node_modules npm run dev // 运行项目步骤2 确定脚手架版本 安装所需依赖并配置这时候我们的package.json.文件里应该是空空如也的,我们需要进行
2023-02-16 18:06:25
494
原创 Vue3.0 响应式数据
响应式数据的概念这个术语在今天的各种编程讨论中经常出现,但人们说它的时候究竟是想表达什么意思呢?本质上,响应性是一种可以使我们声明式地处理变化的编程范式。一个经常被拿来当作典型例子的用例即是 Excel 表格:这里单元格 A2 中的值是通过公式 = A0 + A1 来定义的 (你可以在 A2 上点击来查看或编辑该公式),因此最终得到的值为 3,正如所料。但如果你试着更改 A0 或 A1,你会注意到 A2 也随即自动更新了。而 JavaScript 默认并不是这样的。如果我们用 JavaScript
2023-02-14 18:58:57
910
原创 Vue3.0 状态管理库Pinia的核心属性
关于Pinia如果你之前使用过Vue2.0的状态管理Vuex,那么上手Pinia将会变的十分简单核心部分 Storestore是一个保存状态和业务逻辑的实体,它并不与你的组件树绑定;换句话说,它承载着全局状态;它有点像一个永远存在的组件,每个组件都可以读取和写入它store它有三个概念,state、getters和actions,我们可以l理解成组件中的data、computed和methods在项目中的src\store文件夹下不同的store.js文件store是用defineStore(
2023-02-14 08:32:16
824
原创 Vue3.0 组合式api简单购物车案例
关于购物车案例的实现一般来说,实现购物车案例依赖的是大量的父子组件之间数据的相互传递那么Vue3.0的组合式api和Vue2.0的选项式api关于父子组件通信有哪些不同呢?- 如果是父组件向子组件进行传递数据在选项式 API 中a. 我们可以提供props选项来声明接收传递的数据b. 在JS中可使用this.$props来访问声明的自定义的属性c. 在视图模板中,可直接访问props中声明的自定义属性在组合式 API 中a. 我们可以采用defineProps来声明接收传递的数据b
2023-02-13 19:58:24
1115
原创 Vue3.0 状态管理库Pinia的前世今生
什么是 Pinia 呢?Pinia是Vue3版本的专属状态管理库,它允许你跨组件或页面共享状态。Pinia 和 Vuex 的区别在哪里?PInia的最初是为了探索Vuex的下一次迭代会是什么样子,结合了Vuex核心团队讨论中的许多想法;最终,团队意识到Pinia已经实现了Vuex5中大部分内容,所以最终决定用Pinia来替代Vuex;与Vuex相比,Pinia提供了一个更简单的API,具有更少的仪式,提供了Composition-API风格的API(也就是我们熟知的组合式API);更重要的是,与
2023-02-12 23:42:53
430
原创 Vue3.0 setup函数
1.setup用来写组合式api,从生命周期的角度,相当于取代了beforeCreate(),setup函数执行时机是在beforeCreated和created两个周期函数之前,2. setup(){ } :内部的属性和方法,必须用return暴露出来,要将属性挂载到实例上,否则没有办法使用。context 上下文环境,其中包括了 属性(attrs),插槽(slots),自定义事件(emit)三个部分。1.语法糖:写在script开始标签中,内部的属性和方法,无需return暴露;
2023-02-07 20:25:37
946
原创 简述对闭包的理解
1.闭包就是能够读取其他函数内部变量的函数;2.闭包是一种私有化变量的机制,函数执行时形成私有作用域,保护私有变量不受外界影响;3.内部函数可以使用外部函数的参数和变量,函数和变量不会被垃圾回收机制回收;4.一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。
2022-11-22 11:13:55
394
原创 简述async和await写法
单一的Promise链并不能发现async/await的优势,但是如果需要处理由多个Promise组成的then链的时候,优势就能体现出来了。(2)简洁:使用async和await明显节约了不少代码,不需要.then,不需要写匿名函数处理promise的resolve的值,不需要定义多余的data变量,还避免了嵌套代码。async/await与Promise一样,是非阻塞的;(1)async/await是编写异步代码的新方式,它是generator的语法糖,以前的方式有回调函数和promise;
2022-11-13 22:39:49
671
原创 JS中map( ) 和 forEach( )的理解和区别
创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来(creates a new array with the results of calling a provided function on every element in the calling array)。forEach遍历通常都是直接引入当前遍历数组的内存地址,生成的数组的值发生变化,当前遍历的数组对应的值也会发生变化。map遍历的后的数组通常都是生成一个新的数组,新的数组的值发生变化,当前遍历的数组值不会变化。
2022-11-10 16:39:59
321
原创 浅谈 Proxy 和 Object.defineProperty
Object.defineProperty 只能劫持对象的属性,从而需要对每个对象、每个属性进行遍历,如果属性值是对象,还需要进行深度遍历。在Vue2.x中,Object.defineProperty()方法会在对象上定义一个新对象,或者修改一个对象的现有属性,并返回此对象。数据劫持指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。prop:要定义或修改的属性名或Symbol,也就是源数据中要读写的信息;obj:要定义的属性的对象,也就是响应数据源的对象;
2022-11-10 15:42:35
546
原创 关于内存泄漏和内存溢出
内存泄露是由于GC无法及时或者无法识别可以回收的数据进行及时的回收,导致内存的浪费;内存溢出是由于数据所需要的内存无法得到满足,导致数据无法正常存储到内存中。2.内存泄漏的堆积最终会导致内存溢出,由于系统中的内存是有限的,如果过度占用资源而不及时释放,最后会导致内存不足,从而无法给所需要存储的数据提供足够的内存,从而导致内存溢出。3.导致内存溢出也可能是由于在给数据分配大小时没有根据实际要求分配,即请求的内存空间超过了系统实际分配给你的内存空间,最后导致分配的内存无法满足数据的需求,从而导致内存溢出。
2022-11-08 20:08:17
581
原创 JS中的重绘与回流
页面中元素发生位置或尺寸的变化,比如增加或删除dom节点、修改元素宽高等,会重新构造dom树再次渲染,这就是回流。页面中元素发生可见性的变化(如修改颜色、更换背景),这种导致页面重新渲染的现象称为重绘。(1)避免使用table布局,避免使用css表达式,避免设置多层内联样式,避免节点层级过多;(1)重绘不会引起dom结构和页面布局的变化,只是页面样式的变化;有重绘不一定有回流;而回流会引起dom结构和页面布局的变化,有回流就一定有重绘。(4) 使用fixed和absoluted能够减少回流和重绘。
2022-11-08 11:48:47
1052
原创 重生之我在CSDN学Git -- Git的用途以及工作流程
之前我们聊到了Git的历史和简单介绍了一下集中式和分布式版本控制系统的区别,今天来说一下Git的主要用途以及Git大体的工作流程。
2022-10-27 18:06:40
261
原创 重生之我在CSDN学Git -- Git的历史渊源与基本介绍
Git是一种分布式的版本控制工具,也是一种主流的代码托管技术。有朋友要问了,版本控制是什么呢?版本控制是指软件开发过程中各种程序代码,说明文档等文件的变更进行管理,它将追踪文件变化,记录文件的变更时间,变更内容,甚至变更执行人进行记录。差点忘了介绍集中式和分布式了,这段划掉集中式版本控制系统集中式版本控制系统的版本库是集中存放在中央服务器中。
2022-10-21 18:06:53
351
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人