我的创作纪念日三年收获和感悟

机缘

我刚开始接触创作也是最近几年开始,当初就是希望自己的收获分享给大家,不仅使自己成长,也可以带着大家一起成长,独乐乐不如众乐乐,人都是自私的以前我都是看到好的知识文章都是自己藏起来,发现收获的东西越来越多但是没法释放,后来朋友教导我学会分享,分享自己的收获,分享自己的所知所行,才会有越来越多的人与自己链接,爱才会发生。人们生活在一个自我中心的世界里,这会感觉到痛苦,因为人生中所有伟大的幸福只有当你不自私不贪婪,当你愿意分享时才会出现。
转眼间我的博客已经有九年时间里,九年前我还是对我的很模糊,感觉人生没有方向迷茫,不知道自己该干什么,不知道自己想要啥,对自己的未来毫无规划,那时候还在写着生活的笔记,翻看八九年前的过往笔记,看到那时候自己胡思乱想的样子可真可爱啊,有的时候就是我们勤于思索,我们人生就会充满太多的疑惑,我们甚至难以走出而迷茫,所以不要焦虑过好当下才是最重要的。

请添加图片描述

实战项目中的经验分享

在学习vue做项目中我也是看见一堆代码一脸懵,学习最快的方式就是实践,根据官网多写几个例子是掌握vue最快的方式,接下来我就总结开发vue项目的一些实践经验

  1. vue生命周期的应用
    请添加图片描述

以上是vue官网上的生命周期的方法,大致划分一下分为创建前/后,挂载前/后,更新前/后,销毁前/后这四个阶段。各个阶段的状态总结如下:

beforeCreate: 在beforeCreate生命周期执行时,data和methods中的数据还未初始化,所以此时不能使用data中的数据和methods中的方法
created: data 和 methods初始化完毕,此时可以使用methods 中的方法和data 中的数据
beforeMount: template模版已经编译好,但还未挂载到页面,此时页面还是上一个状态
mounted: 此时Vue实例初始化完成了,DOM挂载完毕,可以直接操作dom或者使用第三发dom库
beforeUpdate: 此时data已更新,但还未同步页面
updated: data和页面都已经更新完成
beforeDestory: Vue实例进入销毁阶段,但所有的 data 和 methods ,指令, 过滤器等都处于可用状态
destroyed: 此时组件已经被销毁,data,methods等都不可用

1.2 vue常用修饰符及作用:

  1. 事件修饰符
  • stop 阻止事件冒泡
  • .prevent 阻止事件默认行为
  • .self 事件绑定的元素本身触发时才触发回调
  • .once 事件只能触发一次,第二次就不会触发了
  • .native 将一个vue组件变成一个普通的html,使其可以监听click等原生事件,具体使用如下:
<button @click.native="handleClick">ok</button>
  1. 表单修饰符
  • .lazy 在输入框输入完内容,光标离开时才更新试图
  • .trim 过滤首尾空格
  • .number 如果想输入数字,那它就会限制你输入的只能是数字,那就相当于没有加.number
<input type="text" v-model.trim="value">
  1. vuex的几种属性和作用,以及使用vuex的基本模式

state的改变完全由mutations控制, 我们也没必要任何项目都使用vuex,对于中大型复杂项目而言,需要共享的状态很多时,使用vuex才是最佳的选择。接下来我将详细介绍各api的概念和作用。

  • state 单一状态树,用一个对象就包含了全部的应用层级状态,并且作为一个唯一数据源而存在
  • getters 就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算 比如如下案例:
  • Mutation 更改 Vuex 的 store 中的状态的唯一方法,使用案例如下:
const store = new Vuex.Store({state: {num: 1},mutations: {add (state) {// 变更状态state.num++}}
})// 在项目中使用mutation
store.commit('add')
// 添加额外参数
store.commit('add', 10)
  • Action Action 提交的是mutation,而不是直接变更状态,可以包含任意异步操作,具体用法如下:
const store = new Vuex.Store({state: {num: 0},mutations: {add (state) {state.num++}},actions: {add (context) {context.commit('add')},asyncAdd ({ commit }) {setTimeout(() => {commit('add')}}
})
// 分发action
store.dispatch('add')
// 异步action
store.dispatch('asyncAdd')
// 异步传参
store.dispatch('asyncAdd', { num: 10 })
  • Moudule 将store分割成模块(module)。每个模块拥有自已的state、mutation、action、getter、甚至是嵌套子模块;

对宏任务和微任务的理解
JS的整个执行过程,我们称为事件循环过程,这个过程中涉及执行栈和两个任务队列:宏任务、微任务。

宏任务包括:

1、script整体代码

2、setTimeout、setInterval

3、node环境的setImmediate

4、输入输出和UI render

微任务包括:

1、node环境的process.nextTick

2、Promise的回调函数

3、MutationObserver的回调

4、await后面的代码

执行过程:执行宏任务,执行该宏任务产生的微任务,微任务执行完毕后,再回到宏任务中进行下一轮循环。

解决过的代码


setTimeout(function() {console.log(1)
});
new Promise(resolve = >{resolve();
}).then(() = >{new Promise(resolve = >{resolve();}).then(() = >{console.log(2);}).then(() = >{console.log(3);});
}).then(() = >{new Promise((resolve = >{resolve()})).then(() = >{new Promise((resolve) = >{resolve()}).then(() = >{console.log(4)}).then(() = >{console.log(5)})}).then(() = >{console.log(6);})
}).then(() = >{console.log(7);
}) setTimeout(function() {console.log(8)
});// 错误2 3 4 5  6 7 1 8
// 正确2、3、7、4、6、5、1、8

日常

平时利用闲暇时间进行创作,其实写作最难的就是持续创作了,或者是懒惰,或者是拖延,或者是遇到了瓶颈,最终成功与否很大程度在与是否坚持,坚持才是最困难的,要努力克服💪

收获

随着我越来越勤奋的发布文章,我收获的赞和粉丝也随之增长,访问也快超过十万多 有下班的时候都看见99+支持我的作品的人越来越多确实令我挺开心愉快的,我也会更加努力,感谢粉丝对我的支持和一路的陪伴。
在这里插入图片描述
请添加图片描述

在这一年里遇见认识了技术大牛:大数据梦想家,是我很敬佩的一个人,一起交谈学习了很多东西也认识看到了自己的那个我,也更加接纳自己,使自己也更加豁然开朗,把自己的能量转变为更积极的行为。
请添加图片描述


我希望在新的一年里更加热爱开发,更加热爱创作,努力成为更好的自己,通过不断的学习,找到自己的方向,是继续朝着技术方向走,还是向管理方向发展,还要看自己情况来走。最终还是保持热爱不断的向前进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318823.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ssm食品安全追溯系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本食品安全追溯系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

基于SSM实验室排课系统+vue论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

Linux内核源码下载与在线浏览10种方式

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【设计模式】二十一.行为型模式之状态模式

状态模式 一. 说明 状态模式通常描述一个类不同行为的多个状态变更&#xff0c;对象的行为依赖它的状态&#xff0c;它是一种行为型模式。 状态模式可以用来消除代码中大量的if-else结构&#xff0c;它明确对象是有状态的、对象的不同状态对应的行为不一样、行为之间是可以切…

鸿蒙开发学习——基本组件

文章目录 引言正文Image组件设置加载网络图片图片属性设置 Text组件设置文本显示内容text属性设置 TextInput输入文本TextInput Controller获取输入文本 Button按钮 引言 最近在学习鸿蒙系统开发&#xff0c;然后对着文档看还是有很多问题&#xff0c;这里结合官方给的demo进行…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的掉线自动重连的技术背景通过PnP事件函数检查Baumer工业相机是否掉线在NEOAPI SDK里实现相机掉线重连方法&#xff1a;工业相机掉线重连测试演示图 …

魔改版小市值策略

策略思路 最近几年&#xff0c;小市值策略一直都收益不错&#xff08;当然&#xff0c;不包含17年和18年&#xff09;。小市值因子对收益的影响是很大的。特别是行情不好的时候&#xff0c;大家都忙着炒作热点&#xff0c;那么这时候符合题材的小市值更加符合炒作标准了。 为…

《使用ThinkPHP6开发项目》 - ThinkPHP6创建菜单模块

#CSDN 年度征文&#xff5c;回顾 2023&#xff0c;赢专属铭牌等定制奖品# 一、创建菜单模块 1、创建系统菜单表 CREATE TABLE menu (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 菜单ID,menu_name varchar(32) NOT NULL DEFAULT COMMENT 菜单名称,path varchar(2…

技术学习|CDA level I 描述性统计分析(常用的数据分布)

推断性统计分析方法的基础理论——常用的分布&#xff08;两点分布、二项分布、正态分布[含标准正态分布]、χ2分布、t分布、F分布。 随机试验&#xff1a;结果不确定的实验&#xff0c;例如&#xff0c;进行一次抛硬币实验&#xff0c;结果是不确定的。对于随机试验的结果&am…

EM算法公式详细推导

EM算法是什么&#xff1f; EM算法是一种迭代算法&#xff0c;用于含隐变量概率模型参数的极大似然估计&#xff0c;或极大后验概率估计。EM算法由两步组成&#xff1a;E步&#xff0c;求期望&#xff1b;M步&#xff1a;求极大。EM算法的优点是简单性和普适性。 符号说明&…

关于系统设计的一些思考

0.前言 当我们站在系统设计的起点&#xff0c;面对一个新的需求&#xff0c;我们该如何开始呢&#xff1f;这是许多处于系统分析与设计领域的新手常常思考的问题。有些人可能会误以为&#xff0c;只要掌握了诸如面向对象、统一建模语言、设计模式、微服务、Serverless、Servic…

Postman版IDEA插件!免费!

Postman是大家最常用的API调试工具&#xff0c;那么有没有一种方法可以不用手动写入接口到Postman&#xff0c;即可进行接口调试操作&#xff1f;今天给大家推荐一款IDEA插件&#xff1a;Apipost Helper&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还…