简介

Angular 是一个基于 TypeScript 构建的开发平台。它包括:

一个基于组件的框架,用于构建可伸缩的 Web 应用

一组完美集成的库,涵盖各种功能,包括路由、表单管理、客户端-服务器通信等

一套开发工具,可帮助你开发、构建、测试和更新代码

借助 Angular,无论单人项目还是企业级应用,你都能获得平台带来的优势。 Angular 的设计目标之一就是让更新更容易,因此你可以用最小的成本升级到最新的 Angular 版本。最重要的是,Angular 的生态系统由包括 170 万名开发人员、库作者和内容创作者在内的多元团队构成。

组件

组件是构成应用的砖块。组件包括三个部分:带有 @Component() 装饰器的 TypeScript 类、HTML 模板和样式文件。@Component() 装饰器会指定如下 Angular 专属信息:

一个 CSS 选择器,用于定义如何在模板中使用组件。模板中与此选择器匹配的 HTML 元素将成为该组件的实例。

一个 HTML 模板,用于指示 Angular 如何渲染此组件。

一组可选的 CSS 样式,用于定义模板中 HTML 元素的外观。

模板

每个组件都有一个 HTML 模板,用于声明该组件的渲染方式。你可以内联它或用文件路径定义此模板。

Angular 使用额外的语法扩展了 HTML,使你可以从组件中插入动态值。当组件的状态更改时,Angular 会自动更新已渲染的 DOM。

依赖注入

依赖注入让你可以声明 TypeScript 类的依赖项,而无需操心如何实例化它们,Angular 会为你处理这些琐事。这种设计模式能让你写出更加可测试、也更灵活的代码。尽管了解依赖注入对于开始用 Angular 并不是至关重要的事,但我们还是强烈建议你将其作为最佳实践,并且 Angular 自身的方方面面都在一定程度上利用了它。


英雄之旅

学习和完成的工作
  • 使用 Angular 的内置指令来显示 / 隐藏元素,并显示英雄数据的列表。
  • 创建 Angular 组件以显示英雄的详情,并显示一个英雄数组。
  • 为只读数据使用单向数据绑定。
  • 添加可编辑字段,使用双向数据绑定来更新模型。
  • 把组件中的方法绑定到用户事件上,比如按键和点击。
  • 让用户可以在主列表中选择一个英雄,然后在详情视图中编辑他。
  • 使用管道来格式化数据。
  • 创建共享的服务来管理这些英雄。
  • 使用路由在不同的视图及其组件之间导航。

步骤
  • 1 根据教程进行相应操作
ng generate component heroesTrip 等

根据angular官网上的英雄之旅的教程完成整个英雄之旅的架构和功能实现。

  • 2 根据对angular的理解在已有项目中加入自己构想。

由于在学习angular之前我们学习了bootstrap架构,为了让整个项目看起来没那么单调且尽量地好看,我自己去网上学习了angular material和如何将bootstrap在angular中使用;在整个学习和应用中,我发现bootstrap与angular并没有想象中那么契合,很多时候,在静态网页中能使用的样式,在angular中却不能生效。
最后通过逐步调整,最终我还是在angular中成功使用了bootstrap。

Angular 总结相关推荐

  1. Angular No name was provided for external module 'XXX' in output.globals 错误

    Angular 7 开发自定义库时,引用ngZorroAntd,build过程中出现 No name was provided for external module 'ng-zorro-antd' ...

  2. angular.isUndefined()

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>ang ...

  3. 五:Angular 数据绑定 (Data Binding)

    通常来说,数据绑定要么是从页面流向组件中的数据,要么是从组件中的数据流向页面.下面我们来介绍在Angular 2中数据绑定的几种不同方式.  1. 使用{{}}将组件中的数据显示在html页面上  实 ...

  4. angular初步认识一

    最近比较流行MVC前端框架开发,最近研究了一个框架AngularJS框架 不说那么多,先上例子,我是个代码控 <!DOCTYPE html> <html lang="en& ...

  5. 【讲人话】Angular如何通过@ViewChildren获取实时渲染的动态DOM节点元素(@ViewChild只能获取静态的固定DOM节点)

    故事背景:有一天,强哥整了个动态渲染的列表代码如下 app.component.html <div><button (click)="add()">添加一行 ...

  6. Angular的ChangeDetectorRef.detectChanges()实现angularJS的$apply()方法,强制刷新数据渲染

    在Javascript代码里,都是按照一定顺序来执行的,当轮到一个代码片段执行的时候,浏览器就只会去执行当前的片段,不会做任何其他的事情.所以有时候一些做得不是很好的网页,当点击了某个东西之后会卡住, ...

  7. Angular多个页面引入同一个组件报错The Component ‘MyComponentComponent‘ is declared by more than one NgModule怎么办?

    有一天,我写了一个自信满满的自定义组件myComponent,在多个页面import使用了,结果控制台给我来这个 我特么裤子都脱了,你给我来这个提示是几个意思 仔细一看 The Component ' ...

  8. 【硬核解说】一口气讲明白Angular的5种路由守卫RouteGuard是嘛玩意儿

    Angular的常用路由守卫有5种,按照执行顺序: ① CanLoad:进入到当前路由的时候触发(若用户没有权限访问,相应的模块并不会被加载.这里是指对应组件的代码). ↓ ② CanAcitivat ...

  9. 浅谈Angular如何自定义创建指令@Directive

    ​知识普及 Angular 指令根据其创建形式分为内置指令和自定义指令,指令按照类型分: 模板指令--组件就是模板指令(只能自定义) 属性型指令 -- 更改元素.组件或其他指令的外观或行为的指令(有内 ...

  10. 【进阶玩法】Angular用emit()实现类似Vue.js的v-model双向绑定[(ngModel)]功能

    app.component.html <app-sizer [(ngModel)]="fontSizePx"></app-sizer> <p [sty ...

最新文章

  1. 双智机器人 珠海_美的集团:“双智”战略加速推行,加强发展机器人业务
  2. 算法题——Cantor表
  3. 10鼎信诺为什么安装不了_鼎信诺审计软件一周常见问题(4.134.17)
  4. .net Core 介绍
  5. 2020 年告别办公室!
  6. CSS 样式表(小结)
  7. AutoMapper学习笔记
  8. Please make sure you have the correct access rights and the repository exists.
  9. ORACLE完整数据库实例迁移
  10. Simple Data帮助类
  11. 使用git来管理微信小程序
  12. Excel 连接 MySQL 导入数据 自定义 SQL (Excel 2016 + 适用)
  13. .satan勒索病毒加密文件恢复手记
  14. serv-u and hway3.0
  15. wincap的安装与环境配置
  16. B2C,B2B,c2c是什么?
  17. 微型计算机怎么插入光盘,解决Win 7读光盘“请将磁盘插入DVD驱动器”故障
  18. python 象棋 算法_象棋AI算法(二)
  19. 从我开发的深度学习框架看深度学习这几年:TensorFlow, PaddlePaddle(飞桨), 无量...
  20. could not initialize proxy -the owning Session was closed解决方法

热门文章

  1. html代码图片无法右键另存为,网页右键无法保存图片怎么办?网页右键无法另存为的解决办法...
  2. snipaste 快捷键被chrome占用解决
  3. 刷新纪录,揭秘漫画脸背后的AI技术
  4. GPIO 端口模式寄存器 (GPIOx_MODER)
  5. python自动化表格截图_python自动化操作——excel刷新数据并截图发送微信
  6. Excel冻结窗口_首行锁定
  7. python的图像处理模块pillow
  8. 动态数据下的Echarts可视化平台构建
  9. 经典题目之打印星号平行四边形
  10. 像素坐标到世界坐标的转换