在职六年多,如何提升自己的综合技术能力,刚开始写过node,后面一直前端VUE方向,目前在渐渐开发起来React相关的项目,要不要再学习后端做个全栈?
你以为会前端后端就算是会全栈了?全栈包含的内容很多,包括市场调研,需求分析,软件设计,ui设计,前端,后端,测试,运维等等
如果你有精力的话,学个后端语言肯定是更好的,因为这样,不管是开发技能还是日后理解整体架构以及业务的思维都会扩展开,这么说吧,如果你只搞前端,那么你对服务器的性能、安全、数据处理,比如并发、事务、消息队列、等具体怎么去处理的,可以说一窍不通,但是如果你有了后端基础后,特别如果是自己动手做过,那么就算你这时候不是做后端的,那么你脑袋里大概也知道是怎么实现的,具体用的技术等。
这里我说的都是对你个人提升的角度。
针对如何提升综合技术能力,包括 React、VUE 和全栈方向,以下是一些建议和解决方案:
掌握基础知识:React 和 VUE 作为前端开发中的两大主流框架,首先需要掌握它们的基本原理和使用。可以在官方文档、网上课程和书籍等途径进行学习。
练手项目经验:练习项目可以更好地掌握框架的使用,同时也可以丰富自己的项目经验。可以在 GitHub 上寻找一些开源的项目,也可以自己动手创建一些简单的项目进行练习。
学习全栈技术:全栈开发要求掌握完整的开发流程,包括前端、后端、数据库等方面的知识。可以考虑学习 Node.js 以及一些流行的后端框架如 Express 和 Koa。同时也需要了解一些数据库的基本操作,如 MongoDB 和 MySQL 等。
参加线上学习课程和培训班:可以参加一些线上培训班和课程,如慕课网、网易云课堂等。这些课程涵盖了基础知识、实战项目以及一些前沿技术的讲解,会对提升综合技术能力有很大帮助。
了解前沿技术:随着互联网技术的不断发展,不断涌现出各种前沿技术,如 React Native、GraphQL 等。了解这些技术可以在未来的工作中给自己提供更多可能性。
参加技术讨论和交流活动:可以参加一些技术社区、技术论坛和技术交流活动,与同行交流经验和共同提升。
针对“为什么有时候修改了值,可以打印修改的值,但是页面上不会改变”的问题,主要是因为 Vue 不能检测数组和对象的变化。可以尝试使用以下解决方案:
对象可以使用$set或者:assign。$set用于添加一个新的属性,:assign将多个对象合并为一个对象,产生一个新的对象。
数组可以使用:splice,用于修改数组中的元素。
需要注意的是,在使用以上方法对对象或数组进行操作后,需要再次赋值给原来的变量,才能更新到视图上。
代码示例:
// 对象
this.$set(this.obj, 'key', 'value'); // 添加新的属性
this.obj = Object.assign({}, this.obj, { key: 'value' }); // 合并新的属性
// 数组
this.list.splice(index, 1, newValue); // 修改数组元素
最后附上一个可以实现双滚动条的示例代码:
<script>
export default {
mounted() {
const boxUl = document.querySelector(".ul"); // 有滚动条的dom
const box = document.querySelector("ul"); // 有滚动条里面的长dom
box.onmousewheel = (e) => {
const { offsetHeight, scrollTop } = box;
const { offsetHeight: offsetHeightUl } = boxUl;
const number = offsetHeight - offsetHeightUl - scrollTop;
e = e || window.event;
if (e.wheelDelta) {
if (e.wheelDelta > 0 && scrollTop > 0) {
e.preventDefault();
box.scrollTop -= 20;
}
if (e.wheelDelta < 0 && number > 0) {
e.preventDefault();
box.scrollTop += 20;
}
} else if (e.detail) {
if (e.detail > 0 && number > 0) {
e.preventDefault();
box.scrollTop += 20;
}
if (e.detail < 0 && scrollTop > 0) {
e.preventDefault();
box.scrollTop -= 20;
}
}
};
},
};
</script>