网站诊断与检测/seo实战技巧

网站诊断与检测,seo实战技巧,b2b网站方案,团购网站系统建设进度安排假如你现在要自学 React/Vue 框架,怎么学? 绝大部分同学可能是这样学的: 直接去看官方文档,或者是找一些视频看一遍,学会这个框架的一些基础语法,特性功能等等参考一些例子上手编写 demo,简单…

假如你现在要自学 React/Vue 框架,怎么学?

绝大部分同学可能是这样学的:

  • 直接去看官方文档,或者是找一些视频看一遍,学会这个框架的一些基础语法,特性功能等等
  • 参考一些例子上手编写 demo,简单感受一下
  • 然后就是在工作中使用框架,碰到各种问题的时候,上网查找解决方案或者询问 AI
  • 最后就是自己想要深入学习的时候,才会去钻研学习它的原理

这样学好像也没什么问题,因为大家都是这么做的,包括我当初也是这样自学的。

但是,这样学有点像无头苍蝇,对于框架的应用经验全靠摸爬滚打一路踩坑才得来的,成长速度非常慢。

作为过来人,我觉得应该让你提前了解到:我们要学一个前端 UI 框架,应该要关注哪些内容

这样,可以提前有个概念,让你带着目标,查漏补缺地去学习,才能提升得更快。

如何操作 DOM 结构

首先要学的,是这个框架是如何操作 DOM 结构的。

现在流行的 UI 框架,主打的就是封装原生 DOM 操作,让我们可以不直接操作 DOM,只关注数据。

因此,我们更加需要了解,这个框架是怎样操作 DOM 的。核心是这些点:

  • 怎样创建 DOM tree?如何把创建好的 DOM tree 挂载到 document 中?
  • 怎样更新 DOM tree?怎样修改某个元素的内容?怎样插入元素?怎样移除元素?
  • 怎样读取 DOM 元素?虽然 UI 框架给我们做了很好的封装,但是在某些特殊场景中,我们还是要直接操作 DOM tree,框架是怎样提供这个能力的?
  • 怎样删除 DOM tree?如何把 DOM tree 从 document 中卸载?

如何操作样式

然后就要学习如何操作样式,CSS 是前端非常关键的一环。

框架把原生 DOM 封装起来了,我们就不能用常规的方法操作 CSS 了。

因此,我们需要关注这些点:

  • 如何给 DOM 元素添加样式 class?如何读取 DOM 元素的样式 class?如何更新 DOM 元素的样式 class?
  • 如何给 DOM 元素添加 inline style?
  • 如何读取 DOM 元素的 CSS style?如何修改 DOM 元素的 CSS style?

如何处理事件

接下来要学习处理事件。主要是以下这些功能点:

  • 如何给 DOM 元素绑定事件?
  • 如何给 DOM 元素解绑事件?
  • 是否遵循 DOM 事件标准?事件捕获和事件冒泡都有吗?
  • 如何获取事件对象?如何获取原始的事件对象?
  • 如何阻止冒泡?如何阻止默认行为?
  • 是否支持自定义事件?

如何处理表单

接下来是处理表单。毕竟对于前端来说,处理表单是基础能力。而涉及到表单的页面,往往都是比较复杂的,因此更加需要学习 UI 框架是如何让我们处理表单的。

对于处理表单,我们主要关注这些点:

  • 如何设置原生表单元素的属性?比如 value,disabled,placeholder 等等
  • 如何设置/读取不同表单元素的值?
  • 如何监听表单元素的值变化?
  • 如何获取表单的原生 DOM 元素?

如何实现组件化

前面都是 JavaScript 和 DOM 的必备功能,接下来我们需要重点学习组件化相关的内容。

现在流行的 UI 框架,主打的是组件化开发框架,这有利于我们组织复杂项目的代码,让代码更好被维护和复用。

对于组件化,我们要了解这个框架是如何实现组件化的,主要关注这些点:

  • 如何自定义组件?一个自定义组件的代码如何组织?
  • 如何创建组件?如何引入组件?
  • 组件的生命周期是怎样的?有哪些钩子,它们的作用分别是什么?

如何实现组件通信

当我们利用组件化的思想去组织我们的代码时,整个页面的结构就是一个组件树(component tree),

这时,我们需要关注一个非常重要的话题 —— 组件通信。

组件化可以让我们的代码内聚在某个组件内部,但这些组件是不能完全独立的,它们需要通过某些通信方式来协作,从而完成复杂的功能。

因此,我们需要学习这个框架是如何实现组件通信的,主要是以下这些点:

  • 父 -> 子 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 子 -> 父 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 祖 -> 孙 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 孙 -> 祖 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 任意组件的通信方式有哪些?各自的优缺点是什么、适用于什么场景?

如何复用代码

最后,我们还要探索一个话题,就是如何复用代码。

组件化也是复用代码的一种方式,它复用的是整个组件的代码,这个组件可以用在很多地方,不需要重新写一个新的组件。

除了这个之外,我们还需要学习更细粒度的复用代码,比如如何复用某些逻辑,可以在多个组件中使用?

如果按照可被复用的代码量级来划分层级的话,我们有如下层级:

  • 函数:某个函数的代码可以在任何需要的地方被调用
  • 功能逻辑:特定功能的逻辑代码,可以被复用到各个组件,一般是多个函数的关联集合,或者是一个基类
  • 组件:某个组件可以在任何需要的地方被加载使用
  • 模块:整个业务功能模块被复用到有需要的页面中,通常是由多个组件组合而成
  • 页面:整个页面被复用到站点的业务流程之中

在学习 UI 框架时,我们不仅要学习组件层级的代码复用,还需要学习功能逻辑层级的代码复用。

功能逻辑层级的代码复用是在多个组件中复用代码,因此这一块是跟组件化的实现方案强关联的,因此我们在学习前端 UI 框架时,不能只学习组件化的使用方法,还需要进一步学习如何在多个组件之中复用代码的技巧,这样才能让我们写出更高质量的代码。

好了,现在你知道,在学习 React/Vue 的时候,我们应该学什么了吗?

只要你把上面我说到的这些点都学会了,你就真正学会 React/Vue 了。

----------------【END】----------------

如果你是真心喜欢前端,并相信成长,想要提升自己的话,欢迎加入之道前端学习圈子。

戳这里 免费获取 之道前端的学习资料和专属服务。

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

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

相关文章

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…

2024年MathorCup数学建模C题物流网络分拣中心货量预测及人员排班解题全过程文档加程序

2024年第十四届MathorCup高校数学建模挑战赛 C题 物流网络分拣中心货量预测及人员排班 原题再现: 电商物流网络在订单履约中由多个环节组成,图1是一个简化的物流网络示意图。其中,分拣中心作为网络的中间环节,需要将包按照不同流…

鸿蒙Flutter开发故事:不,你不需要鸿蒙化

在华为牵头下,Flutter 鸿蒙化如火如荼进行,当第一次看到一份上百个插件的Excel 列表时,我也感到震惊,排名前 100 的插件赫然在列,这无疑是一次大规模的军团作战。 然后,参战团队鱼龙混杂,难免有…

Unity音频混合器如何暴露参数

音频混合器是Unity推荐管理音效混音的工具,那么如何使用代码对它进行管理呢? 首先我在AudioMixer的Master组中创建了BGM和SFX的分组,你也可以直接用Master没有问题。 这里我以BGM为例,如果要在代码中进行使用就需要将参数暴露出去…

JAVA学习--java数组--打印稀疏数组和稀疏数组的还原

1.题目描述 2.代码实现 打印二维数组 public class test04 {public static void main(String args[]){//1.创建一个二维数组11*11,0代表没有棋子,1代表黑,2代表白棋int[][] array1new int[11][11];array1[1][2]1;array1[2][3]2;//输出原…

Day20-前端Web案例——部门管理

目录 部门管理1. 前后端分离开发2. 准备工作2.1 创建Vue项目2.2 安装依赖2.3 精简项目 3. 页面布局3.1 介绍3.2 整体布局3.3 左侧菜单 4. Vue Router4.1 介绍4.2 入门4.3 案例4.4 首页制作 5. 部门管理5.1部门列表5.1.1. 基本布局5.1.2 加载数据5.1.3 程序优化 5.2 新增部门5.3…

vue 点击放大,图片预览效果

背景: 在使用vue框架element组件的背景下,我们对图片的展示需要点击放大(单张);如果是多张图片,要支持左右滑动查看多张图片(多张)。 单张图片放大,el-image图片组件,或者原生的img标签。 多张图片放大&…

学习笔记--基于Sa-Token 实现Java项目单点登录+同端互斥检测

目录 同端互斥登录 单点登录SSO 架构选型 模式二: URL重定向传播 前后端分离 整体流程 准备工作 搭建客户端 搭建认证中心SSO Server 环境配置 开放认证接口 启动类 跨域处理 同端互斥登录 同端互斥登陆 模块 同端互斥登录指:同一类型设备上只允许单地…

本地生活服务APP开发,市场发展全新商业机遇

随着移动互联网的快速发展,人们的消费和生活习惯发生了巨大改变,本地生活服务市场迎来了发展爆发期!从外卖、团购等,人们越来越依赖通过手机APP解决日常生活中的各种需求。对于企业而言,一款完善、多样、便捷的本地生活…

代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II

108. 冗余连接 卡码网题目链接(ACM模式)(opens new window) 题目描述 有一个图,它是一棵树,他是拥有 n 个节点(节点编号1到n)和 n - 1 条边的连通无环无向图(其实就是一个线形图)…

2024年MathorCup数学建模D题量子计算在矿山设备配置及运营中的建模应用解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 D题 量子计算在矿山设备配置及运营中的建模应用 原题再现: 随着智能技术的发展,智慧矿山的概念越来越受到重视。越来越多的设备供应商正在向智慧矿山整体解决方案供应商转型,是否具备提供整体解…

交换机(access端口)

任务&#xff1a;对access有更深入的理解 通过网盘分享的文件&#xff1a;交换机&#xff08;access&#xff09;.zip 链接: https://pan.baidu.com/s/1cMC6Na_1PLo6zOHazFplQQ?pwd23a5 提取码: 23a5 SW1 <Huawei>sys [Huawei]dis vlan The total number of vlans …

AI大白话(四):自然语言处理——AI是如何理解和生成人类语言的?

🌟引言: 专栏:《AI大白话》 AI大白话(一):5分钟了解AI到底是什么? AI大白话(二):机器学习——AI是怎么“学习“的? AI大白话(三):深度学习——AI的‘大脑‘是如何构建的? 大家好!欢迎回到"AI大白话"系列。前面我们聊了AI的基本概念、机器学习的原理…

扩展卡尔曼滤波

1.非线性系统的线性化 标准卡尔曼滤波 适用于线性化系统&#xff0c;扩展卡尔曼滤波 则扩展到了非线性系统&#xff0c;核心原理就是将非线性系统线性化&#xff0c;主要用的的知识点是 泰勒展开&#xff08;我另外一篇文章的链接&#xff09;&#xff0c;如下是泰勒展开的公式…

关于 51 单片机显示多个数码管时出现残影

残影现象&#xff1a; 出现残影代码&#xff1a; #include <REGX52.H> #include <INTRINS.H> void Delayxms(unsigned int x) //11.0592MHz {while(x){unsigned char i, j;_nop_();i 2;j 199; do{while (--j);} while (--i);x--;} } void DisplayDigitalNumb…

InnoDB 引擎核心知识点

InnoDB 引擎核心知识点 6.1 逻辑存储结构 表空间&#xff08;Tablespace&#xff09;&#xff1a;所有数据逻辑上存储在一个表空间中&#xff0c;物理上可能由多个文件组成。段&#xff08;Segment&#xff09;&#xff1a;分为数据段&#xff08;B树叶子节点&#xff09;、索引…

深度学习 Deep Learning 第9章 卷积网络 CNN

深度学习 Deep Learning 第9章 卷积网络 章节概述 本章深入探讨了卷积网络的原理、变体及其在深度学习中的应用。卷积网络通过卷积操作实现了参数共享和稀疏连接&#xff0c;显著提高了模型的效率和性能。本章首先介绍了卷积操作的基本形式及其在不同数据维度上的应用&#x…

基于MATLAB的涡旋光和高斯光叠加产生平顶光

强度叠加耦合成平顶光&#xff0c;不发生干涉 通过分别生成高斯光和涡旋光的强度分布&#xff0c;然后按合适的权重将它们叠加&#xff0c;得到近似平顶光&#xff08;flat‐top beam&#xff09;的效果。由于我们只是将强度相加&#xff08;而非复振幅叠加&#xff09;&#…

wordpress-网站百宝箱插件

含置顶,网页宠物, 哀悼, 禁止复制, 禁止查看源码, 弹幕, WP优化,媒体分类,预加载,定时发布,在线客服, 留言板, 手机客服, 网站背景, 公告, 跑马灯, 水印, 分享, 打赏, 海报图, 广告,数据库管理,图片加载特效。等综合功能插件

Vue 中的日期格式化实践:从原生 Date 到可视化展示!!!

&#x1f4c5; Vue 中的日期格式化实践&#xff1a;从原生 Date 到可视化展示 &#x1f680; 在数据可视化场景中&#xff0c;日期时间的格式化显示是一个高频需求。本文将以一个邀请码关系树组件为例&#xff0c;深入解析 Vue 中日期格式化的 核心方法、性能优化 和 最佳实践…