使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

Angular 7刚刚到达。在这篇文章中,开发人员提供了在Visual Studio 2017中使用ASP.NET Core SPA模板创建Angular 7应用程序的分步指南。

最后,我们有一个新的主要版本的Angular,版本7.我使用“finally”这个词的原因不仅仅是因为人们在等待Angular的最新主要版本,而且因为有很多关于这些功能的传言Angular 7会提供。特别是自愚人节发表文章以“ Angular 7.0中的四大变化 ”出版以来。

几天前,Angular团队正式宣布Angular 7,Angular 7 引入了一些非常棒的功能,例如Angular Material的改进,性能改进和CLI改进等等。

在这篇文章中:

  • 我们将看到如何使用ASP.NET Core SPA模板创建Angular 7应用程序。
  • 我们还将看到此主要版本引入的功能。
  • 我将演示一些Angular 7引入的Angular Material功能。

Angular7与SPA模板

让我们首先看看如何使用Visual Studio 2017创建一个带有ASP.NET Core SPA模板的Angular 7应用程序。使用.NET Core创建Angular 7应用程序的方法不止一个,但让我们来看看这个。

确保已安装Visual Studio 2017和最新的.NET Core SDK以及最新版本的Node。

在这种方法中,我们将使用Angular模板和ASP .NET Core。

在开始之前,让我们首先将Angular CLI更新到版本7.为此,请打开命令提示符并运行命令

npm i -g @angular/cli

完成后,您的CLI将更新到版本7:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

在VS 2017中使用.NET Core 2.1模板创建Angular应用程序

安装完所有这些后,打开Visual Studio 2017 – >创建新项目 – >选择Core Web应用程序:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

单击“确定”,然后在下一个窗口中选择Angular,如下所示:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

Visual Studio将为您创建一个结构良好的应用程序,目前在Angular 5中。

Angular 7

如果在ClientApp文件夹中打开package.json文件,您会注意到Angular版本是5.2,但我们想要创建一个Angular 7应用程序。

因此,请转到文件资源管理器并删除ClientApp文件夹。

删除文件夹后,打开命令提示符并导航到该项目并运行命令:

ng new ClientApp

此命令将使用最新版本(7)创建一个全新的Angular应用程序:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

而已。我们刚刚创建了一个Angular 7应用程序。

使用以下命令运行应用程序ng serve

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

Angular 7主要特点

让我们来看看Angular 7发布的一些主要功能。

CLI更具说服力

从Angular 7开始,CLI将在用户运行命令时提示用户,ng new或者ng add帮助用户选择路由,SCSS支持等功能:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

如您所见,您可以回复是或否,或使用向上/向下箭头键选择选项。

Angular Material改进

组件开发工具包(CDK)已得到改进,现在我们可以使用虚拟滚动和拖放等功能。让我们看看如何使用Angular 7来完成它。

安装Angular Material

我们首先使用以下命令安装Angular Material

npm install –save @angular/material @angular/cdk @angular/animations

完成后,添加 BrowserAnimationsModule app.component.ts:

import {BrowserAnimationsModule} from \’@angular/platform-browser/animations\’;

@NgModule({

imports: [BrowserAnimationsModule],

})

就是这样,我们现在准备使用Angular 7和Angular 7。

拖放功能

我记得有关此问题的一些Stack Overflow问题,而且,我个人希望这将成为Material的一部分。从Angular 7开始,我们将能够使用Material进行拖放。我们现在可以将项目水平,垂直,从一个列表拖动到另一个列表,重新排序列表,打开可拖动项目等。

为此,我们首先需要将DragDropModule app.component.ts 添加到如下:

import { DragDropModule } from \’@angular/cdk/drag-drop\’;

@NgModule({

imports: [DragDropModule],

})

让我们创建一个水平拖放。为此,请在app.coponent.html中添加以下代码:

<div cdkDropList cdkDropListOrientation=\”horizontal\” class=\”example-list\” (cdkDropListDropped)=\”drop($event)\”>

<div class=\”example-box\” *ngFor=\”let timePeriod of timePeriods\” cdkDrag>{{timePeriod}}</div>

</div>

接下来,我们将需要timePeriods。为此,请在app.component.ts中添加以下代码:

timePeriods = [

\’Bronze age\’,

\’Iron age\’,

\’Middle ages\’,

\’Early modern period\’,

\’Long nineteenth century\’

];

drop(event: CdkDragDrop<string[]>) {

moveItemInArray(this.timePeriods, event.previousIndex, event.currentIndex);

}

我们都准备好了。现在,运行应用程序ng serve:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

你可以在这里找到更多细节。

虚拟滚动

我们可以使用版本7的Angular Material进行虚拟滚动。有了这个,我们可以根据显示大小加载和卸载DOM元素。即使滚动列表很大,它也会为用户创建非常快速的体验。

为此,我们首先需要将ScrollDispatchModule app.component.ts 添加到如下:

import { ScrollDispatchModule } from \’@angular/cdk/scrolling\’;

@NgModule({

imports: [ScrollDispatchModule],

})

让我们在Angular 7应用程序中添加虚拟滚动。为此,请在app.coponent.html中添加以下代码:

<cdk-virtual-scroll-viewport itemSize=\”50\” class=\”example-viewport\”>

<div *cdkVirtualFor=\”let item of items\” class=\”example-item\”>{{item}}</div>

</cdk-virtual-scroll-viewport>

接下来,我们将需要这些物品。为此,请在app.component.ts中添加以下代码:

items = Array.from({ length: 100000 }).map((_, i) => `Item #${i}`);

而已。现在,运行应用程序ng serve:

使用ASP.NET Core创建Angular 7应用程序:循序渐进的指南(asp.net core web api教程)

更多细节可以在这里找到。

能够在角度材质中使用原生选择

从Angular 7开始,Angular材料将允许使用原生<select>内部a <mat-form-field>。我们知道原生选择是强大的,因为它是本机元素,本机<select>具有一些性能,可访问性和可用性优于mat-select。所以使用原生本身会很好<select>。

生产性能改进

Angular团队注意到了开发人员在生产中添加反射元数据填充的常见错误,尽管只在开发中需要它。

因此,从Angular 7开始,这将自动从polyfills.ts中删除。您可以在开发模式下运行时将其添加为构建步骤。

捆绑预算功能

有了这个,如果您的捆绑包超过2 MB – >您将被应用程序警告,如果捆绑包超过5 MB – >您将从应用程序收到错误。但它是可配置的,因此您可以更改angular.json文件中的设置:

\”budgets\”: [{

\”type\”: \”initial\”,

\”maximumWarning\”: \”2mb\”,

\”maximumError\”: \”5mb\”

}]

这样,您将习惯于创建具有尽可能低的bundle大小的应用程序。

这些是Angular 7的一些主要功能。让我们快速提一下Angular 7附带的一些功能,Stephen Fluin在他的博客中提到:

  • Angular Console – 一个可下载的控制台,用于在本地计算机上启动和运行Angular项目。
  • @ angular / fire – AngularFire在npm上有一个新家,并为Angular提供了第一个稳定的版本。
  • NativeScript – 现在可以使用NativeScript为Web和已安装的移动设备构建单个项目。
  • StackBlitz – StackBlitz 2.0已经发布,现在包括Angular语言服务,以及更多功能,如选项卡式编辑。

最后,如果您想将现有的Angular应用程序升级到Angular 7,Angular团队可以更轻松地完成此步骤。只需运行以下命令:

ng update @angular/cli @angular/core

这是一种非常快速的升级方式。

如果您有大型应用程序,可以查看此处以查看有关升级的更多详细信息:

https://update.angular.io/

您可以在此处找到我使用Angular 7创建的应用程序的源代码。希望能帮助到你!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月9日 上午9:55
下一篇 2024年5月9日 上午10:07

相关推荐

  • 科研项目咨询费报销材料

    科研项目咨询费报销材料 随着科技的不断进步,科研项目越来越受到人们的重视。在科研项目中,咨询费是一种常见的费用支出,它用于聘请外部专家来为项目提供咨询和帮助。在本篇文章中,我们将介…

    科研百科 2025年4月13日
    1
  • 教科研项目化管理

    教科研项目化管理 随着教育的不断发展,科研项目化管理已经成为了教育改革的重要组成部分。科研项目化管理不仅能够提高学生的学习兴趣和积极性,还能够培养学生的创新能力和实践能力。本文将探…

    科研百科 2025年3月12日
    0
  • 科研项目资源供给

    科研项目资源供给 随着科技的不断进步,科研项目的供给也在不断增加。科研项目是推动科技进步的重要力量,也是提高国家竞争力的重要手段。因此,如何供给足够的科研项目资源是一个重要的问题。…

    科研百科 2025年2月19日
    1
  • 低代码平台的使用者都是谁?(低代码平台的使用者都是谁啊)

    2019年开始,低代码爆火。有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为是企业管理模式的变革……有很多声音,社区讨论很热烈。CSDN随后展开低代码平台产品系列…

    科研百科 2024年5月13日
    45
  • 施工项目管理系统排行榜

    施工项目管理系统排行榜 随着现代施工行业的发展,施工项目管理系统成为了施工企业必不可少的一部分。以下是一些目前比较流行的施工项目管理系统排行榜。 1. 智行云施工项目管理系统 智行…

    科研百科 2025年1月17日
    0
  • 软件项目安全管理方针和措施

    软件项目安全管理方针和措施 软件项目在软件开发生命周期中起着至关重要的作用,为了确保软件项目的成功交付,必须采取一系列安全措施来保障项目的安全性。本文将介绍软件项目安全管理方针和措…

    科研百科 2024年10月13日
    6
  • 龙泉中心敬老院:其乐融融迎“新春”(龙泉镇敬老院)

    新田新闻网(记者 黄新 陶红星)1月26日,龙泉中心敬老院举办“欢喜过小年,快乐迎新春”活动,为老人们送上浓情关爱与新春祝福。 活动现场,工作人员为老人们佩戴好鲜红喜庆的围巾,大家…

    科研百科 2022年7月3日
    191
  • 路基科研项目

    路基科研项目 道路是连接城市和乡村的重要交通基础设施,也是人们日常生活中不可或缺的一部分。然而,随着城市化进程的加速和交通量的不断增加,路基科研项目成为了交通领域的一个热门话题。 …

    科研百科 2025年2月21日
    0
  • 教育科研项目课题

    教育科研项目课题 教育是人类社会的重要组成部分,而科研项目则是推动教育发展的重要力量。在当前的社会中,教育科研项目已经成为推动教育进步的重要方式。本文将介绍一个教育科研项目课题,即…

    科研百科 2025年2月26日
    1
  • 村阵地建设存在的问题

    村阵地建设存在的问题 村阵地建设是农村发展的重要基础设施之一,是农村文化、教育和宣传的重要场所。然而,在目前的农村社会中,存在一些问题,使得村阵地建设受到了一定的限制。 首先,村阵…

    科研百科 2024年10月7日
    33