angular复习笔记1-开篇
前言
学习和使用angular已经有一段时间了。这段时间利用angular做了一个系统,算是对angular有了一个全面的认识,趁着现在有一些时间,把angular的一些知识记录一下。
安装angular
安装angular首先要使用node,node的下载地址http://nodejs.cn/,我是用的是angular7最新的版本,node的版本应该在10以上。安装node会自动帮你安装好npm的包管理工具,然后 我们可以使用npm安装angular:
npm install -g @angular/cli
这样,我们就安装好了全局的angular,然后我们就可以使用ng xxx的命令来开发angular应用了。
使用angular所需要的知识
typescript
typescript是js的超集,为js装上了一个类型系统,使得很多关于类型的错误能够在编译器就被发现,大大的节省了开发时间,缺点就是你需要学习一门新的语言,但typescript和js在语法上面是非常类似的,相关的概念也一样,所以学习起来不会太费劲。
rxjs
angular里面的异步大多数是使用rxjs来表达的。rxjs简单的理解就是一个时间轴,在这个时间轴上面会不断的发送数据,rxjs有点儿和订阅模式一样的地方,在时间轴上面产生的数据会被消费者订阅和消费。
其他的核心知识
angular里面包含了很多概念,这些概念也是造成angular学习曲线比较陡峭的原因之一,但是一旦你学会了angular,就会给你创造巨大的价值。不同于其他框架,angular内部封装了一些无意义的东西比如webpack,webpack这坨baba虽然解决了很多问题,但这些问题不能创造任何价值,angular对webpack的封装让我们开发人员可以真正的将时间投入到业务的开发上面来。
组件
组件(Component)是构成angular应用的基础和核心。也是应用程序组件化和模块化的产物。它由html文件、css文件和ts文件构成,html用于表述组件的结构,cs所表述组件的样式,ts表述组件的逻辑和功能。
模板
模板是一种自定义的标准化页面,通过模板和模板中的数据结合,可以生成各种各样的页面。在angular中模板的默认语言是html。几乎所有的html在模板中都是适用的。但<scirpt>标签是禁止的,主要是防止脚本注入攻击(XSS)。
指令
指令是一个重要的概念,指令作用在特定的dom元素上,可以扩展这个元素的功能,为元素添加新的行为。组件(component)就是一种特殊的带有视图的指令,组件继承自指令。
服务和rxjs
在 Angular 中,服务用于帮助开发者书写可重用的公共功能( 如日志 处理、权限管理等) 和复杂的业务逻辑,对于应用程序的模块化有着很重要的意义。
rxjs继承了响应式编程范式,在angular中rxjs与http配合使用。rxjs的几个核心对象包括observable、observer、subscription、subscribe、subject等等。
依赖注入
依赖注入是一种编程思想,他是解决IOC(控制反转)的方法之一,当我们编写一个大型的项目时会创建很多组件和服务,这些组件和服务之间有着错综复杂的关系,管理好这些组件和服务之间的关系,就是要将这些组件和服务进行一定程度的解耦合,依赖注入为我们提供了强大的解耦合的能力。
路由
路由是一个单页应用(spa)的重要组成部分,路由所要解决的核心问题是通过将不同的URL和不同的组件建立对应的关系,使得不同的URL能够代表不同的组件。
测试
对于一个应用来说,只是完成了基本功能开发,还远远不够,如何在快速迭代中保持稳定的产品质量,测试的重要性不言而喻。
结束
这是一个angular复习的开篇,主要从angular组成的各个方面对angular进行了一个综述,接下来会对angular的每个部分做详细的解剖。
最新文章
- mac os x 启用apache 和 php
- flddler使用方法
- Qt Qwt之坐标轴移动
- C# 对动态编辑的一些学习笔记
- bzoj1789 AHOI 维护数列(线段树)
- TOJ3744(Transportation Costs)
- CMAKE 学习
- idiom - Initialization-on-demand holder 延迟加载的单例模式
- uva12716 GCD XOR
- PHP操作Memcached
- FusionCharts 3D环饼图
- Mybatis入门之增删改查
- [Postman]定制Postman(4)
- Arrays.copyOf() 和 System.arrayCopy()分析
- Dispatch Queue 之内存中常驻的几个结构
- 单纯形算法 matlab
- Elasticsearch入门和查询语法分析(ik中文分词)
- ROS编译:catkin简析
- tp5.0
- Leetcode 70. Climbing Stairs 爬楼梯 (递归,记忆化,动态规划)
热门文章
- 向量召回 vearch
- 简单与实用:SpringMVC的常见使用
- Element + Vue I18n动态import加载国际化语言包翻译文件
- 自动创建Kibana索引
- crc64
- 【JavaScript】JavaScript中的ActiveXObject对象
- java http get/post请求
- 003-Python3-基础语法-运行方式、代码基础要求、运算符[算数运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符]、运算符优先级
- javafx这些学会后,开发就不难了,往tablecloumn列中添加按钮,修改javafx中tableview中tablecell中的值,修改完回车表示保存到内存中
- Python浮点数数据精度控制