FormGroup将每个子FormControl的值聚合到一个对象中,每个控件名称作为键.
Run Code Online (Sandbox Code Playgroud)const form = new FormGroup({ first: new FormControl('Nancy', Validators.minLength(2)), last: new FormControl('Drew'), });
FormArray将每个子FormControl的值聚合到一个数组中.
Run Code Online (Sandbox Code Playgroud)const arr = new FormArray([ new FormControl('Nancy', Validators.minLength(2)), new FormControl('Drew'), ]);
应该何时使用另一个?
只是想了解如何Angular在幕后构建和运行?
以下是我迄今所理解的内容.想知道我是否错过了什么.
Angular的构建方式
在使用我们的角度应用程序编码后TypeScript,我们使用Angular CLICommand来构建应用程序.
ng buildcommand将应用程序编译到输出目录中,构建工件将存储在dist/目录中.
内部流程
1. Angular CLI运行Webpack以构建和捆绑所有JavaScript和CSS代码.
2. 依次Webpack调用TypeScriptLoaders,它们获取.ts角项目中的所有文件,然后将它们转换JavaScript为.js文件,浏览器可以理解.
这篇文章说Angular有两个编译器:
查看编译器
模块编译器
有关构建的问题
调用构建过程的顺序是什么?
Angular CLI First调用在Typescript =>中编写的angular内置编译器,然后调用Typescript Transpiler =>然后调用Webpack进行捆绑并存储在dist/目录中.
Angular如何运行
构建完成后,我们所有应用程序的组件,服务,模块等都会转换为Javascript .js文件,用于在浏览器中运行角度应用程序.
当您使用AppComponent类引导(在main.ts中)时,Angular <app-root>在其中index.html查找a ,找到它,实例化AppComponent的实例,并将其呈现在<app-root>标记内.
当用户在应用程序中移动时,Angular会创建,更新和销毁组件.
关于运行的问题
尽管main.ts在上面的Statement中用于解释引导过程,但是不是角度应用程序是自引导还是使用Javascript .js文件启动?
是不是所有上述语句都是使用 …
有人可以帮我解决这个问题吗?我收到以下错误:
\n安装的 Angular 和 Node 版本
\n\nAngular CLI: 12.0.1\n节点: 14.16.0\n包管理器: npm 7.11.2\n操作系统: win32 x64\n\n
\n D:\\Learning\\Angular>ng 新工作\n ? 您想添加 Angular 路由吗?否\n?您想使用哪种样式表格式?CSS\n 创建工作/angular.json(3045 字节)\n 创建工作/package.json(1069 字节)\n 创建工作/README.md(997 字节)\n 创建工作/tsconfig.json(783 字节)\ n 创建工作/.editorconfig(274 字节)\n 创建工作/.gitignore(604 字节)\n 创建工作/.browserslistrc(703 字节)\n 创建工作/karma.conf.js(1424 字节)\n 创建工作/tsconfig.app.json(287 字节)\n 创建工作/tsconfig.spec.json(333 字节)\n 创建工作/src/favicon.ico(948 字节)\n 创建工作/src/index.html(293字节)\n 创建工作/src/main.ts(372 字节)\n 创建工作/src/polyfills.ts(2820 字节)\n 创建工作/src/styles.css(80 字节)\n 创建工作/src /test.ts(743 字节)\n 创建工作/src/assets/.gitkeep(0 字节)\n 创建工作/src/environments/environment.prod.ts(51 字节)\n 创建工作/src/environments/ environment.ts(658 字节)\n 创建工作/src/app/app.module.ts(314 字节)\n 创建工作/src/app/app.component.html(23777 字节)\n 创建工作/src/ app/app.component.spec.ts(943 字节)\n 创建工作/src/app/app.component.ts(211 字节)\n 创建工作/src/app/app.component.css(0 字节)\ n / 安装软件包 (npm)...npm 警告已弃用 …
在我的应用程序中,我有一个servlet,在web.xml中定义如下:
<servlet>
<display-name>Notification Servlet</display-name>
<servlet-name>NotificationServlet</servlet-name>
<servlet-class>com.XXX.servlet.NotificationServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>NotificationServlet</servlet-name>
<url-pattern>/notification/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
在使用Tomcat 7之后,我想使用@WebServlet将完成这项工作的注释.
这是我做的方式:
@WebServlet( name="NotificationServlet", displayName="Notification Servlet", urlPatterns = {"/notification"}, loadOnStartup=1)
public class NotificationServlet extends HttpServlet {
Run Code Online (Sandbox Code Playgroud)
它不起作用.有人可以告诉我我做错了什么吗?
在Angular 2中是否可以在条件下应用管道?我想做的事情如下:
{{ variable.text | (variable.value ? SomePipe : OtherPipe) }}
Run Code Online (Sandbox Code Playgroud)
如果没有,实现这种效果的首选方法是什么?
我使用bootstrap 3 popover.
现在我想链接文本popvover.
码:
<a href="#"
role="button"
class="btn popovers"
data-toggle="popover"
title=""
data-content="test content <a href="" title="test add link">link on content</a>"
data-original-title="test title"
>
test link
</a>
Run Code Online (Sandbox Code Playgroud)
但是当我在html中启动代码时,我看到:
<a href="#" role="button" class="btn popovers" data-toggle="popover" title="" data-content="test content <a href=" "="">link on content</a>
"
data-original-title="test title"
>
test link
Run Code Online (Sandbox Code Playgroud)
我知道符号中的问题,"但我不知道在链接中添加链接...
请告诉我,如何正确的代码?
PS:如果问题已经存在,请给我链接.
我正在开发一个角色应用程序供管理人员跟踪他们的团队,我遇到了@Output错误:
An error occurred: @Output deleteMeeting not initialized in 'MeetingItemComponent'.
Run Code Online (Sandbox Code Playgroud)
我有一个Meetings组件,生成一个MeetingItem组件列表.我想在用户点击不同按钮(编辑,删除,显示详细信息)时执行操作.
这是我的父会议模板:
<div class="meeting__list" [@newMeeting]="meetings.length">
<app-meeting-item
*ngFor="let meeting of meetings"
[meeting]="meeting"
(deleteMeeting)="deleteMeeting($event)"
(openMeetingDialog)="openMeetingDialog($event)"
(messageClick)="openMessage($event)"
></app-meeting-item>
</div>
Run Code Online (Sandbox Code Playgroud)
我的MeetingItem模板(仅此帖子涉及的部分):
<span class="meeting__actions">
<mat-icon *ngIf="meeting.message" (click)="onMessageClick(meeting)" matTooltip="Read the message"
matTooltipPosition="above" class="icon--notes">notes</mat-icon>
<mat-icon (click)="onOpenMeetingDialog(meeting)" matTooltip="Edit this meeting" matTooltipPosition="above" class="icon--edit">edit</mat-icon>
<mat-icon (click)="onDeleteMeeting(meeting.id)" matTooltip="Delete this meeting" matTooltipPosition="above" class="icon--delete">delete_outline</mat-icon>
</span>
Run Code Online (Sandbox Code Playgroud)
我的MeetingItem组件:
import { Component, Input, Output } from '@angular/core';
import { EventEmitter } from 'events';
@Component({
selector: 'app-meeting-item',
templateUrl: './meeting-item.component.html',
styleUrls: ['./meeting-item.component.scss']
})
export class MeetingItemComponent {
@Input() …Run Code Online (Sandbox Code Playgroud) 这是我的异步验证器它没有去抖时间,我该如何添加它?
static emailExist(_signupService:SignupService) {
return (control:Control) => {
return new Promise((resolve, reject) => {
_signupService.checkEmail(control.value)
.subscribe(
data => {
if (data.response.available == true) {
resolve(null);
} else {
resolve({emailExist: true});
}
},
err => {
resolve({emailExist: true});
})
})
}
}
Run Code Online (Sandbox Code Playgroud) 我找不到JIT和口译员之间的区别.
Jit是口译员和编译器的中介.在运行时,它将字节代码转换为机器代码(JVM或实际机器?)下次,它从缓存中运行并运行Am i对吗?
解释器将直接执行字节码而不将其转换为机器代码.是对的吗?
我们电脑中真正的处理器如何理解指令.
请清除我的疑虑.
@Pipe({name:'myPipe', pure: false})
Run Code Online (Sandbox Code Playgroud)
我无法理解不纯净的管道,有些用纯管道更好.
请用一个简单而基本的例子来解释我?
angular ×7
angular-pipe ×2
angular-cli ×1
annotations ×1
asynchronous ×1
build ×1
click ×1
debouncing ×1
html ×1
hyperlink ×1
java ×1
jit ×1
npm ×1
popover ×1
servlet-3.0 ×1
servlets ×1
timeout ×1
tomcat7 ×1
typescript ×1
validation ×1