Angular程序架构
两个大的版本1.5和4.0
这是完全重写的
Angular程序架构
中间大的方块代表Angular的应用,用户可以和应用做交互,Angular本身是个客户端框架,所以开发出来的都是客户端程序,客户端程序需要与服务器做交互,给服务器传递一些数据。这是一个大的架构,我们可以看到中间的框里边是Angular的应用,至少需要包含一个模块NgModule和一个组件component
首先我们来说下最关键的概念组件component
组件是 :Angular应用的基本构建块,你可以把一个组件理解为一段带有业务逻辑和数据的Html。组件之间可以有父子关系,就像Html一个table标签可以包括很多tr标签一样。一个父组件可以包含多个子组件,子组件在可以有孙子组件,组件可以调用服务。
服务是 :用来封装可重用的业务逻辑,比如获取商品信息的逻辑,在商品的详情页需要,在订单详情页,我看订单的时候我也要知道我买了的订单是什么,这时候我就可以把获取商品信息的逻辑封装到服务里。然后在不同组建中去调用,另一个组件可以去调用服务,服务也可以调用服务,两个服务之间可以互相调用。
指令:允许你向Html元素添加自定义行为。比如说我可以写一个自动完成的指令,把这个指令写到input标签上,input标签就会有一个自动完成的功能。Angular框架内置了大量的指令来帮我们解决日常开发中常见的一些问题。
模块:用来将应用中的不同部分组织成一个Angular框架可以理解的单元。 你可以把组件,服务和指令理解乐高积木中各种颜色,各种大小,各种形状的小块,模块是什么,模块就是一个一个小塑料袋,这些小块我可以组成汽车,那么我可以把这些小块放到一个塑料袋里。然后那些小块可以组成一个轮船,我就可以把哪一些小块放到另一个塑料块里头。对于Angular程序来说,比如说这四个组件加上这两个服务,在加上某一个指令放在一起,我可以提供一个登录注册的功能,那么我就可以把这些组件放在登录注册这样一个模块里,然后如果下一个程序,比如说我要开发另一个程序的时候,也需要登录注册,我直接把这个登录注册模块引到下一个项目里OK了,总之一句话组件,服务和指令这三个东西来说是用来完成功能的,而模块是用来打包和分发这些功能的