Angular 6的新功能,特点介绍

更新日期: 2018-05-23阅读: 3.7k标签: Angular

angular  6版在2018年5月4日正式发布,其目的是为了使Angular变得更小,更快,更易于使用。 Angular 6版本更加关注底层框架工具链,同时加快了工具链在Angular中的运行速度,除此以外,这次更新还包括框架包(@angular/core、@angular/common、@angular/compiler 等)、Angular CLI、Angular Material + CDK等。下面就介绍下Angular 6新版本的一些主要新特性,以便大家学习使用。


ng update

ng update 是新增的一个cli命令。通过ng update不仅可以保持正确的版本依赖,而且能保持依赖关系的同步。第三方可以使用原理图提供更新脚本。如果您的某个依赖项提供了一个ng update原理图,那么他们可以在需要进行重大更改时自动更新代码


ng add

ng add 也是新增的一个cli命令。通过ng add可以更加容易向项目中添加新功能(类似npm install 


Angular Material+CDK组件

angular6最大的补充是用于显示分层数据的新树组件。遵循数据表组件的模式,CDK包含核心树指令,而Angular Material则提供与顶层的Material Design样式相同的体验


Material

运行命令,添加Material。一旦添加Material之后,你就可以生成三个新的入门组件

ng add @angular/material

1、Material Sidenav

ng generate @angular/material:material-nav --name=my-nav //生成一个nav组件

2、Material Dashboard

ng generate @angular/material:material-dashboard --name=my-dashboard

3、Material Data Table

ng generate @angular/material:material-table --name=my-table

如果要了解更多有关Material的信息,请点击这里


CLI工作空间

CLI6.0版本现在支持包含多个项目的工作空间,如多个应用程序或库。CLI项目现在将使用angular.json而不是 .angular-cli.json用于构建和项目配置。


库的支持

CLI最需要的功能之一是支持创建和构建库

ng generate library <name>

该命令将在CLI工作区内创建一个库项目,并对其进行配置以进行测试和构建。

ng generate library <name>

这个命令将在你的CKI工作空间创建一个库项目,并且自动添加配置信息到angular.json文件和tsconfig.json中。
点击查看更多关于CLI工作空间的信息


Providers的改变

为了使我们的程序变得轻量,Angular6将模块引入服务的模式,改成服务引入模块的模式。

6.0之前的版本服务注入
// app.module.ts
@NgModule({
  ...
  providers: [MyService]
})
export class AppModule {}

//my-service.ts
import { Injectable } from '@angular/core';

@Injectable()
export class MyService {
  constructor() { }
}
6.0之后的版本服务注入

NgModule中不再需要引入

//my-service.ts

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class MyService {
  constructor() { }
}


Animations性能优化

新的Animations实现,不再需要 web animations polyfill。这也就意味着你可以从你的应用中移除 polyfill,这样可以减少大约47k的空间


RxJS v6

Angular已经更新使用了RxJS v6。RxJS作为一个独立的工程已经在几周前完成了V6的发布


长期支持 (LTS)

我们正在将我们的长期支持扩展到所有主要版本。

之前我们宣布只有v4和v6是LTS版本,但为了从一个主要版本更新到下一个主要版本更容易,并给更大的项目更多时间来规划更新,我们决定将延长对所有主要版本的长期支持从v4开始。

每个主要版本将支持18个月,大约6个月的积极开发,接下来是12个月的关键错误修正和安全补丁。


如何升级到6.0.0

按照引导对应用进行升级,更新通常遵循3个步骤,并将利用新ng update工具。

  1. 更新@ angular / cli
  2. 更新你的Angular框架包
  3. 更新其他依赖项


Ivy

Ivy将会是下一代渲染引擎,现在正在开发中。让我们拭目以待吧。



链接: https://www.fly63.com/article/detial/804

angular.js和vue.js中实现函数去抖

搜索输入框中,只当用户停止输入后,才进行后续的操作,比如发起Http请求等。本文将分别探讨在angular.js和vue.js中如何实现对用户输入的防抖。

你所要知道的所有关于Angular的变化检测机制

如果想像我一样全面的了解Angular的脏值检测机制,除了浏览源代码之外别无他法,网上可没有太多可用信息。大部分文章都提到,Angular中每个组件都自带一个脏值检测器,但是它们都仅仅停留在脏值检测的策略和案例的使用,并没有做太多的深入。

探索 Angular 使用 ViewContainerRef 操作 DOM

每次我读到 Angular 如何操作 DOM 相关文章时,总会发现这些文章提到 ElementRef、TemplateRef、ViewContainerRef 和其他的类。尽管这些类在 Angular 官方文档或相关文章会有涉及,但是很少会去描述整体思路

解决angularJS解决数据显示闪一下的问题?

使用 angular JS 的时候,把 angularJS 放到文件底部,在渲染页面的时候,会出现闪一下的情况。解决办法:1、使用 ng-cloak ;2、将angular.js的引入放到head前,提前加载;3、使用 ng-bind

Angular HMR(热模块替换)功能实现方法

在使用Angular的时候,希望能像VUE那样,修改代码后浏览器不刷新,页面对应修改的组件自动更新的功能。这个功能的名字时HMR (hot module replace)。稍微研究了一下,发现在angular/cli创建的项目中,实现这个不算太难,步骤如下

angular2及其他项目中遇到的问题和解决方法

Angular2项目日常开发中所遇问题及解决方案记录:angular-cli修改域名及端口号、解决双击变蓝的问题、修改浏览器滚动条的默认样式等等

angular动态绑定样式以及改变UI框架样式的方法

ngClass要绑定的类名会在tr根据数据循环生成html的过程中调用组件中定义的isHideClass方法,并把i(index)带过去让方法使用根据方法逻辑返回的类名去绑定写好的样式

Angularjs的$http异步删除数据详解及实例

这篇文章主要介绍了Angularjs的$http异步删除数据详解及实例的相关资料,这里提供实现思路及实现具体的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。

angularJS自定义服务的几种方式

在angularJS中定义服务共有四种常见的方式:factory,service,provider,constant,value.使用形式的不同:

Angular 响应式表单之表单分组

表单提交,表单全部校验成功才能提交,当表单校验错误,表单边框变红,同时有错误提示信息,有重置功能。在分析代码之前,首先明确 FormControl、formControl、formControlName、FormGroup...

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!