首页 web前端 js教程 前端框架管理

前端框架管理

Mar 19, 2018 pm 05:13 PM
前端 框架 管理

这次给大家带来前端框架管理,前端框架管理的注意事项有哪些,下面就是实战案例,一起来看一下。

当今前端最火的三个框架要数Angular2+、Vue、React。它们全部都用到了组件化、模块化的思想,让前端开发变得更加规范。

但缺点也是明显的。除了文档不齐全、缺乏案例、学习成本高以外,组件之间的状态管理也是一个大问题。组件化是好事,但是如果没有处理好组件之间的数据流动,就会造成项目混乱、维护困难的负面影响。

先来说说为什么要进行状态管理:

比如说两张列表都引用了同一个数据源,用户在其中一张列表上做修改,另外一张列表上的数据也要跟着变。用angular1的时候要解决很简单,使用$rootScope即可。但是到了三大框架,没有$rootScope这个概念,想要实现数据的同步更新,怎么办?

有人可能会说,这简单,用户在第一张表做修改的时候我们发一个消息给第二张表,让它把相应的数据改了不就完事了。但是如果有10张表,20张表呢?都去一张张通知吗?要是其他组件也有用到这个数据源,也都去通知更新吗?

所以这个方案在项目简单的时候或许可行,但是项目一复杂,问题立马就会暴露出来。为了以防未来项目推翻重来,我们还是应该一开始就考虑好。

状态管理这个概念,就是为了应对复杂的数据流动。

三大框架实现状态管理的方法分别为:

Vue:Vuex

React:Redux(dva.js)

Angular2+:Redux(ngrx)

虽然三大框架实现状态管理的方案不同,但是底层的思想都是一致的。这里大致的来讲一下:

项目为了实现状态管理,新增了几个模块:reducers、effects、services、models。如果是angular2+的话还有actions。

先来说说这几个模块的作用:

models:数据模型。存放了数据本身和修改数据的方法。在angular2+中models存放的是实体(entity)。学过后端的应该会很熟悉。是对数据的一种声明。

reducers:负责进行同步的操作。比如把请求来的表单数据存到数据模型中,用户添加/删除了某条数据,对原有数据进行修改。

services:对请求数据这一动作的封装,一般包含获取数据的方法。如getList(),getUsers()。

effects:负责进行异步操作。比如接到用户的请求动作后,调用service,向服务器请求数据,成功了就调用reducers保存数据,如果失败了就执行另一个动作。

angular2+中还抽象出了一层actions,是对各种动作的封装。比如加载数据,数据加载成功,用户删除数据等。包含了数据的type以及payload(修改数据用到的数据)

一个用户操作,比如搜索相应商品,当用户按下确认键的时候,整个流程可以概括为:

用户发出指令 -> dispatch调用redurcers修改状态,相应组件进入loading状态 -> effects调用services获取数据 -> 获取数据成功,调用redurces保存数据并结束loading -> 渲染到视图

当调用reducers更新数据的时候,所有跟model绑定的视图都会同步更新,每个处理逻辑也变得相当清晰明了。虽然在项目复杂度上会有所增加,但是维护起来肯定是要方便很多的。

如果觉得难以理解,可以先从这两个案例入手:

vuex 计数器+列表展示:http://www.cnblogs.com/axel10/p/8536688.html

dva.js 计数器+列表展示:http://www.cnblogs.com/axel10/p/8503782.html

其中最适合入门的是Vue,然后是React(使用dva.js),最难的是angular2+。angular2+涉及到Rxjs和TypeScript,知识点较多。无论难还是不难,永远记得由浅入深,不要幻想一步登天。如果你连angular1都用不熟,那就请你先用好angular1,好好理解mvc思想,再去涉足三大框架,不然很有可能事倍功半,浪费大量时间。

作为前端工程师,如果有条件还是建议学习一门后端语言,比如java,c#,这对理解前端框架有很大的帮助。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

React中有哪些类定义组件

Vue.js的表单输入绑定

以上是前端框架管理的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
如何评估Java框架商业支持的性价比 如何评估Java框架商业支持的性价比 Jun 05, 2024 pm 05:25 PM

评估Java框架商业支持的性价比涉及以下步骤:确定所需的保障级别和服务水平协议(SLA)保证。研究支持团队的经验和专业知识。考虑附加服务,如升级、故障排除和性能优化。权衡商业支持成本与风险缓解和提高效率。

PHP 框架的学习曲线与其他语言框架相比如何? PHP 框架的学习曲线与其他语言框架相比如何? Jun 06, 2024 pm 12:41 PM

PHP框架的学习曲线取决于语言熟练度、框架复杂性、文档质量和社区支持。与Python框架相比,PHP框架的学习曲线更高,而与Ruby框架相比,则较低。与Java框架相比,PHP框架的学习曲线中等,但入门时间较短。

PHP 框架的轻量级选项如何影响应用程序性能? PHP 框架的轻量级选项如何影响应用程序性能? Jun 06, 2024 am 10:53 AM

轻量级PHP框架通过小体积和低资源消耗提升应用程序性能。其特点包括:体积小,启动快,内存占用低提升响应速度和吞吐量,降低资源消耗实战案例:SlimFramework创建RESTAPI,仅500KB,高响应性、高吞吐量

谷歌管理器如何添加和管理用户 谷歌管理器如何添加和管理用户 Sep 02, 2024 pm 02:41 PM

谷歌管理器如何添加和管理用户?谷歌浏览器是支持多个用户登录使用的,这样我们跨设备登录也不用怕了,如果我们有许多用户就需要对其进行添加管理。有些小伙伴可能不知道要如何操作。不用担心,小编今天为大家整理了详细步骤教程说明,感兴趣的小伙伴快来和小编一起看看吧。详细步骤教程说明1、打开电脑后,在桌面上找到安装好的谷歌浏览器图标并双击打开,如下图所示。2、点击谷歌浏览器右上角的三小点图标,如下图所示。3、点击谷歌浏览器下拉菜单里的【设置】选项,如下图所示。4、在打开的谷歌浏览器设置界面里, 点击【管理ch

golang框架文档最佳实践 golang框架文档最佳实践 Jun 04, 2024 pm 05:00 PM

编写清晰全面的文档对于Golang框架至关重要。最佳实践包括:遵循既定文档风格,例如Google的Go编码风格指南。使用清晰的组织结构,包括标题、子标题和列表,并提供导航。提供全面准确的信息,包括入门指南、API参考和概念。使用代码示例说明概念和使用方法。保持文档更新,跟踪更改并记录新功能。提供支持和社区资源,例如GitHub问题和论坛。创建实际案例,如API文档。

了解React的主要功能:前端视角 了解React的主要功能:前端视角 Apr 18, 2025 am 12:15 AM

React的主要功能包括组件化思想、状态管理和虚拟DOM。1)组件化思想允许将UI拆分成可复用的部分,提高代码可读性和可维护性。2)状态管理通过state和props管理动态数据,变化触发UI更新。3)虚拟DOM优化性能,通过内存中的DOM副本计算最小操作更新UI。

如何为不同的应用场景选择最佳的golang框架 如何为不同的应用场景选择最佳的golang框架 Jun 05, 2024 pm 04:05 PM

根据应用场景选择最佳Go框架:考虑应用类型、语言特性、性能需求、生态系统。常见Go框架:Gin(Web应用)、Echo(Web服务)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。实战案例:构建RESTAPI(Fiber),与数据库交互(gorm)。选择框架:性能关键选fasthttp,灵活Web应用选Gin/Echo,数据库交互选gorm。

Java框架学习路线图:不同领域中的最佳实践 Java框架学习路线图:不同领域中的最佳实践 Jun 05, 2024 pm 08:53 PM

针对不同领域的Java框架学习路线图:Web开发:SpringBoot和PlayFramework。持久层:Hibernate和JPA。服务端响应式编程:ReactorCore和SpringWebFlux。实时计算:ApacheStorm和ApacheSpark。云计算:AWSSDKforJava和GoogleCloudJava。

See all articles