本文集中讲讲笔者目前使用ng2来开发项目时对其组件的使用的个人的一些拙劣的经验。

先简单讲讲从ng1到ng2框架下组件的职责与地位:
ng1中的一大特色——指令,分为属性型、标签型、css类型和注释型。其中写在css类以及注释中的组件想必多数人都不会去使用,而属性型指令与标签型指令则是ng1火遍宇宙的功臣之一。在ng2中,标签型指令干脆被分离出来,追随vue等新兴势力的风格升级并称为组件,并用来处理所有与视图(DOM)打交道的事情,包括展示数据与动画。而属性型指令则用于完善组件的功能,比如接收用户输入、响应用户点击等事件。其实ng2中内嵌的许多功能都是属性型指令——ngFor、ngIf等等,而对于组件来说比较依赖具体的项目,所以跟适合基于项目来使用组件写出一个个用户看得见的界面来。同时组件还需要与路由打交道,前端路由可以看成是动态更改DOM,在ng2路由中制定好规则后,其实就是在动态渲染或销毁不同的组件,以此实现前端页面的切换。
然后讲讲笔者前面的项目时如何使用ng2组件搭起一个网站的:
1. 照着官方的做法,每个应用得有一个根组件。
2. 区分前端路由,每个路由条目指向一个组件,每个组件各自渲染一个页面。
3. 项目扩大,单模块不能满足业务分类,所以先由根路由引导懒加载各个子模块,然后由子模块的子路由各自指向具体的子组件,并渲染各自的页面。
4. 着眼单个子组件渲染的单个页面,其实可以将一些可重用的标签块封装到一个新的组件里(比如需要ngFor遍历的复杂数据项)。
5. 发现其实有一些组件(比如侧边按钮或消息模态框)其实整个项目都可能使用到,得把这些封装*局共享的组件。
到现在自己都觉得有一点乱,究其原因,应该是组件这个名称的问题,因为在ng2框架下,大到路由页面小到数据条目全都用的组件,声明方式全都一个模样,难免会乱。
没办法只能自己来给组件继续细分类别了,笔者于是把ng2的组件分成了四类:
页面组件
布局组件
单位组件
共享组件
如果纯文字不够形象,笔者再给出自己画的简易版ng2超级无敌前端架构图:
讲来讲去其实这里面完全没有技术难点,只是在暗示着一件事——项目目录安排很重要。
ng2可不认识笔者给它细分的这么多类型的组件,这些分类是给自己看的,具体的体现就是以这个分类体系得出的一个项目目录结构。
以笔者自己在写的一个项目为例:
笔者给文件夹命名前面有的加上了加号有的加上了减号,也算是自己的一种看似奇怪的目录结构安排了。
解释一下就是:最外层这个+term代表整个懒加载模块的目录,里面带加号的目录下的组件代表是页面组件,什么符号都没有的代表是布局组件,带减号的目录下的组件代表是单位组件,单位组件可能在整个懒加载模块中都使用到,所以直接在懒加载目录的最外层,而布局组件都在具体的页面组件同级目录下。
总结就是抛开ES6与TypeScript的外表后ng2组件的使用在技术上难点不算多,本文纯粹是一点拙劣的经验之谈,当然笔者目前的经验还远远不足,希望在日后的开发以致研究透彻ng2源码后能有更深的见解。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# angular
# 组件
# Angular2入门教程之模块和组件详解
# Angular入口组件(entry component)与声明式组件的区别详解
# 加载
# 自己的
# 上了
# 不需要
# 目录下
# 都是
# 成了
# 最外层
# 放在
# 都不
# 都在
# 则是
# 都没
# 这么多
# 遍历
# 要在
# 经验之谈
# 一大
# 没办法
# 对其
相关文章:
如何通过多用户协作模板快速搭建高效企业网站?
智能起名网站制作软件有哪些,制作logo的软件?
北京网站制作公司哪家好一点,北京租房网站有哪些?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
高防服务器租用首荐平台,企业级优惠套餐快速部署
C++如何编写函数模板?(泛型编程入门)
5种Android数据存储方式汇总
高端企业智能建站程序:SEO优化与响应式模板定制开发
广州建站公司哪家好?十大优质服务商推荐
独立制作一个网站多少钱,建立网站需要花多少钱?
如何快速生成橙子建站落地页链接?
如何撰写建站申请书?关键要点有哪些?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何规划企业建站流程的关键步骤?
定制建站如何定义?其核心优势是什么?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
广德云建站网站建设方案与建站流程优化指南
如何快速完成中国万网建站详细流程?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
PHP 500报错的快速解决方法
如何选择高性价比服务器搭建个人网站?
如何通过商城自助建站源码实现零基础高效建站?
如何在宝塔面板中创建新站点?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
历史网站制作软件,华为如何找回被删除的网站?
利用JavaScript实现拖拽改变元素大小
黑客如何通过漏洞一步步攻陷网站服务器?
香港服务器选型指南:免备案配置与高效建站方案解析
如何选择可靠的免备案建站服务器?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
建站之星安装后界面空白如何解决?
如何选择靠谱的建站公司加盟品牌?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何配置IIS站点权限与局域网访问?
济南专业网站制作公司,济南信息工程学校怎么样?
如何在IIS服务器上快速部署高效网站?
安徽网站建设与外贸建站服务专业定制方案
网站制作大概多少钱一个,做一个平台网站大概多少钱?
实现虚拟支付需哪些建站技术支撑?
浅谈Javascript中的Label语句
如何在云主机上快速搭建多站点网站?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何在IIS管理器中快速创建并配置网站?
如何在Golang中使用replace替换模块_指定本地或远程路径
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
网页设计与网站制作内容,怎样注册网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。