前端与移动开发在职加薪课 (博学谷)

261 阅读3分钟

Angular实战开发

Angular 基础知识

Angular CLI

前端与移动开发在职加薪课 (博学谷) 提取码:7thp

模块

组件

模板

数据绑定

服务

路由

image.png HttpClient(基于RxJS 响应式编程)

等等

实战项目

HMR系统

模块一:登录(用户登录、退出、访问控制)

模块二:员工管理(CRUD)

预览地址 http://localhost:4200/

如何学习Angular

重点一:理解Angular的开发模式

cmL46679910

重点二:理清Angular中核心内容之间的关系

多多练习、多多思考

Angular介绍

Google开发的JavaScript前端框架

平台支持:移动端 & 桌面端

应用案例:Google内部600多款不同的产品

image.png

满足不同场景下的开发需求 更适合开发现代Web应用

8206d64942e45fbfec98a533be0aa40.png

image.png

Google开发的JavaScript前端框架

平台支持:移动端 & 桌面端

应用案例:Google内部600多款不同的产品

大而全的框架:从工程化角度出发

编程语言:TypeScript

性能高,体积小

image.png

image.png

image.png

Angular版本说明

AngularJS --> v1.x

Angular --> v2.x 及其以上版本

课程学习 Angular v6 版本(最新版)

知识储备

HTML CSS JavaScript ES6 TypeScript

Angular基础知识

模块

image.png

每个应用至少有一个 Angular 模块,称为根模块

它通常命名为 AppModule

根模块的作用:启动应用

模块是独立、封闭的

模块之间的引用通过 导入 和 导出 来完成

模块依赖

image.png

模块中包含的内容

组件

服务

指令

注意:这些内容必须在模块中配置后才有效

@NgModule 装饰器

装饰器是一个函数

作用:修饰紧随其后的类或属性

装饰器是 JavaScript 的一种语言特性,处于语法提案的stage 2阶段,是一个试验特性

装饰器又叫做注解

@NgModule是Angular提供的装饰器

用来告诉Angular将这个类当作 模块 来处理

语法:@NgModule({ 元数据对象 })

@NgModule 装饰器的元数据对象

declarations 该模块所拥有的组件

imports 该模块依赖的模块,比如:BrowserModule

providers 该模块所拥有的服务提供商

bootstrap 指定根组件,只有根模块需要该配置项Angular 创建它并插入 index.html 宿主页面。

exports 公开该模块其中的一部分,以便外部模块使用它们

@Component装饰器

selector 选择器(组件名称),对应HTML中的组件名称

template 组件的内联模板

templateUrl 组件模板文件的 URL

styleUrls 组件样式文件数组

数据绑定

1 插值表达式 {{}}

2 属性绑定 [href]=””

3 事件绑定 (click)=””

4 双向数据绑定 [(ngModel)]=””

双向数据绑定

image.png

Angular 语言服务

让你能在模板内获得以下功能:

1 自动完成

2 错误检查

3 给出提示

4 内部导航

等功能

学习过的指令

[(ngModel)] 在表单元素中实现双向数据绑定的指令

(click) 事件绑定指令

[href] 属性绑定指令

指令分类

组件 拥有模板的指令

属性型指令 改变元素外观和行为的指令

结构型指令 添加和移除 DOM 元素改变 DOM 布局的指令

属性型指令

[ngClass] 动态添加或移除CSS类

[ngStyle] 动态设置内联样式

结构型指令

*ngIf 控制元素的展示和隐藏

*ngFor 重复器,遍历数据,批量生成元素

*ngFor添加trackBy

目的:提升渲染对象数组的性能

语法:trachBy: trackBy方法名称

todos案例

功能描述

1 任务展示

2 任务添加

3 任务删除

4 任务完成状态切换

todos案例升级

1 分离为专门的组件

2 抽离为模块

image.png

todos组件职责说明

父组件(todo) 提供待办事项数据

子组件(todo-header) 任务添加

子组件(todo-list) 任务展示、删除、状态切换

注意:组件是独立的,其它组件不能毫无限制的访问