목차
一、模板驱动
二、模型驱动
1. 템플릿 드라이버

🎜2. Model-driven🎜
웹 프론트엔드 JS 튜토리얼 각도 학습은 두 가지 유형의 양식에 대해 설명합니다.

각도 학습은 두 가지 유형의 양식에 대해 설명합니다.

May 20, 2022 am 10:28 AM
angular angular.js

이 기사에서는 angular의 양식을 살펴보고 두 가지 유형의 양식(템플릿 기반 및 모델 기반)에 대해 알아봅니다. 도움이 되기를 바랍니다.

각도 학습은 두 가지 유형의 양식에 대해 설명합니다.

Angular에는 템플릿 기반모델 기반이라는 두 가지 유형의 양식이 있습니다. [관련 튜토리얼 추천 : "模板驱动模型驱动。【相关教程推荐:《angular教程》】

一、模板驱动

1.1 概述

表单的控制逻辑写在组件模板中,适合简单的表单类型。

1.2 快速上手

1)、引入依赖模块 FormsModule

import { FormsModule } from "@angular/forms"

@NgModule({
  imports: [FormsModule],
})
export class AppModule {}
로그인 후 복사

2)、将 DOM 表单转换为 ngForm

<form #f="ngForm" (submit)="onSubmit(f)"></form>
로그인 후 복사

3)、声明表单字段为 ngModel

<form #f="ngForm" (submit)="onSubmit(f)">
  <input type="text" name="username" ngModel />
  <button>提交</button>
</form>
로그인 후 복사

4)、获取表单字段值

import { NgForm } from "@angular/forms"

export class AppComponent {
  onSubmit(form: NgForm) {
    console.log(form.value) // {username: &#39;&#39;}
  }
}
로그인 후 복사

5)、表单分组

<form #f="ngForm" (submit)="onSubmit(f)">
  <div ngModelGroup="user">
    <input type="text" name="username" ngModel />
  </div>
  <div ngModelGroup="contact">
    <input type="text" name="phone" ngModel />
  </div>
  <button>提交</button>
</form>
로그인 후 복사
import { NgForm } from "@angular/forms"

export class AppComponent {
 onSubmit(form: NgForm) {
   console.log(form.value) // {contact: {phone: &#39;&#39;}, user:{username: &#39;&#39;}}
 }
}
로그인 후 복사

1.3 表单验证

  • required 必填字段
  • minlength 字段最小长度
  • maxlength 字段最大长度
  • pattern 验证正则 例如:pattern=“d” 匹配一个数值
<form #f="ngForm" (submit)="onSubmit(f)">
  <input type="text" name="username" ngModel required pattern="\d" />
  <button>提交</button>
</form>
로그인 후 복사
export class AppComponent {
  onSubmit(form: NgForm) {
    // 查看表单整体是否验证通过
    console.log(form.valid)
  }
}
로그인 후 복사
<!-- 表单整体未通过验证时禁用提交表单 -->
<button type="submit" [disabled]="f.invalid">提交</button>
로그인 후 복사

在组件模板中显示表单项未通过时的错误信息。

<form #f="ngForm" (submit)="onSubmit(f)">
  <input #username="ngModel" />
  <div *ngIf="username.touched && !username.valid && username.errors">
    <div *ngIf="username.errors.required">请填写用户名</div>
    <div *ngIf="username.errors.pattern">不符合正则规则</div>
  </div>
</form>
로그인 후 복사

指定表单项未通过验证时的样式。

input.ng-touched.ng-invalid {
  border: 2px solid red;
}
로그인 후 복사

二、模型驱动

2.1 概述

表单的控制逻辑写在组件类中,对验证逻辑拥有更多的控制权,适合复杂的表单的类型。

在模型驱动表单中,表单字段需要是 FormControl类的实例,实例对象可以验证表单字段中的值,值是否被修改过等等

각도 학습은 두 가지 유형의 양식에 대해 설명합니다.
一组表单字段构成整个表单,整个表单需要是 FormGroup 类的实例,它可以对表单进行整体验证。

각도 학습은 두 가지 유형의 양식에 대해 설명합니다.

  • FormControl:表单组中的一个表单项

  • FormGroup:表单组,表单至少是一个 FormGroup

  • FormArray:用于复杂表单,可以动态添加表单项或表单组,在表单验证时,FormArray 中有一项没通过,整体没通过。

2.2 快速上手

1)、引入 ReactiveFormsModule

import { ReactiveFormsModule } from "@angular/forms"

@NgModule({
  imports: [ReactiveFormsModule]
})
export class AppModule {}
로그인 후 복사

2)、在组件类中创建 FormGroup 表单控制对象

import { FormControl, FormGroup } from "@angular/forms"

export class AppComponent {
  contactForm: FormGroup = new FormGroup({
    name: new FormControl(),
    phone: new FormControl()
  })
}
로그인 후 복사

3)、关联组件模板中的表单

<form [formGroup]="contactForm" (submit)="onSubmit()">
  <input type="text" formControlName="name" />
  <input type="text" formControlName="phone" />
  <button>提交</button>
</form>
로그인 후 복사

4)、获取表单值

export class AppComponent {
  onSubmit() {
    console.log(this.contactForm.value)
  }
}
로그인 후 복사

5)、设置表单默认值

contactForm: FormGroup = new FormGroup({
  name: new FormControl("默认值"),
  phone: new FormControl(15888888888)
})
로그인 후 복사

6)、表单分组

contactForm: FormGroup = new FormGroup({
  fullName: new FormGroup({
    firstName: new FormControl(),
    lastName: new FormControl()
  }),
  phone: new FormControl()
})
로그인 후 복사
<form [formGroup]="contactForm" (submit)="onSubmit()">
  <div formGroupName="fullName">
    <input type="text" formControlName="firstName" />
    <input type="text" formControlName="lastName" />
  </div>
  <input type="text" formControlName="phone" />
  <button>提交</button>
</form>
로그인 후 복사
onSubmit() {
  console.log(this.contactForm.value.name.username)
  console.log(this.contactForm.get(["name", "username"])?.value)
}
로그인 후 복사

2.3 FormArray

需求:在页面中默认显示一组联系方式,通过点击按钮可以添加更多联系方式组。

import { Component, OnInit } from "@angular/core"
import { FormArray, FormControl, FormGroup } from "@angular/forms"
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styles: []
})
export class AppComponent implements OnInit {
  // 表单
  contactForm: FormGroup = new FormGroup({
    contacts: new FormArray([])
  })

  get contacts() {
    return this.contactForm.get("contacts") as FormArray
  }

  // 添加联系方式
  addContact() {
    // 联系方式
    const myContact: FormGroup = new FormGroup({
      name: new FormControl(),
      address: new FormControl(),
      phone: new FormControl()
    })
    // 向联系方式数组中添加联系方式
    this.contacts.push(myContact)
  }

  // 删除联系方式
  removeContact(i: number) {
    this.contacts.removeAt(i)
  }

  ngOnInit() {
    // 添加默认的联系方式
    this.addContact()
  }

  onSubmit() {
    console.log(this.contactForm.value)
  }
}
로그인 후 복사
<form [formGroup]="contactForm" (submit)="onSubmit()">
  <div formArrayName="contacts">
    <div
      *ngFor="let contact of contacts.controls; let i = index"
      [formGroupName]="i"
    >
      <input type="text" formControlName="name" />
      <input type="text" formControlName="address" />
      <input type="text" formControlName="phone" />
      <button (click)="removeContact(i)">删除联系方式</button>
    </div>
  </div>
  <button (click)="addContact()">添加联系方式</button>
  <button>提交</button>
</form>
로그인 후 복사

2.4 内置表单验证器

1)、使用内置验证器提供的验证规则验证表单字段

import { FormControl, FormGroup, Validators } from "@angular/forms"

contactForm: FormGroup = new FormGroup({
  name: new FormControl("默认值", [
    Validators.required,
    Validators.minLength(2)
  ])
})
로그인 후 복사

2)、获取整体表单是否验证通过

onSubmit() {
  console.log(this.contactForm.valid)
}
로그인 후 복사
<!-- 表单整体未验证通过时禁用表单按钮 -->
<button [disabled]="contactForm.invalid">提交</button>
로그인 후 복사

3)、在组件模板中显示为验证通过时的错误信息

get name() {
  return this.contactForm.get("name")!
}
로그인 후 복사
<form [formGroup]="contactForm" (submit)="onSubmit()">
  <input type="text" formControlName="name" />
  <div *ngIf="name.touched && name.invalid && name.errors">
    <div *ngIf="name.errors.required">请填写姓名</div>
    <div *ngIf="name.errors.maxlength">
      姓名长度不能大于
      {{ name.errors.maxlength.requiredLength }} 实际填写长度为
      {{ name.errors.maxlength.actualLength }}
    </div>
  </div>
</form>
로그인 후 복사

2.5 自定义同步表单验证器

  • 自定义验证器的类型是 TypeScript 类

  • 类中包含具体的验证方法,验证方法必须为静态方法

  • 验证方法有一个参数 control,类型为 AbstractControl。其实就是 FormControl 类的实例对象的类型

  • 如果验证成功,返回 null

  • 如果验证失败,返回对象,对象中的属性即为验证标识,值为 true,标识该项验证失败

  • 验证方法的返回值为 ValidationErrors | null

import { AbstractControl, ValidationErrors } from "@angular/forms"

export class NameValidators {
  // 字段值中不能包含空格
  static cannotContainSpace(control: AbstractControl): ValidationErrors | null {
    // 验证未通过
    if (/\s/.test(control.value)) return { cannotContainSpace: true }
    // 验证通过
    return null
  }
}
로그인 후 복사
import { NameValidators } from "./Name.validators"

contactForm: FormGroup = new FormGroup({
  name: new FormControl("", [
    Validators.required,
    NameValidators.cannotContainSpace
  ])
})
로그인 후 복사
<div *ngIf="name.touched && name.invalid && name.errors">
	<div *ngIf="name.errors.cannotContainSpace">姓名中不能包含空格</div>
</div>
로그인 후 복사

2.6 自定义异步表单验证器

import { AbstractControl, ValidationErrors } from "@angular/forms"
import { Observable } from "rxjs"

export class NameValidators {
  static shouldBeUnique(control: AbstractControl): Promise<ValidationErrors | null> {
    return new Promise(resolve => {
      if (control.value == "admin") {
         resolve({ shouldBeUnique: true })
       } else {
         resolve(null)
       }
    })
  }
}
로그인 후 복사
contactForm: FormGroup = new FormGroup({
    name: new FormControl(
      "",
      [
        Validators.required
      ],
      NameValidators.shouldBeUnique
    )
  })
로그인 후 복사
<div *ngIf="name.touched && name.invalid && name.errors">
  <div *ngIf="name.errors.shouldBeUnique">用户名重复</div>
</div>
<div *ngIf="name.pending">正在检测姓名是否重复</div>
로그인 후 복사

2.7 FormBuilder

创建表单的快捷方式。

  • this.fb.control:表单项

  • this.fb.group:表单组,表单至少是一个 FormGroup

  • this.fb.arrayangular tutorial

    "]
1. 템플릿 드라이버

1.1 개요

🎜🎜폼의 제어 로직이 작성되어 있습니다. Component template에서는 simple 양식 유형에 적합합니다. 🎜🎜🎜🎜1.2 빠르게 시작하기🎜🎜🎜🎜1), 종속 모듈 FormsModule🎜
import { FormBuilder, FormGroup, Validators } from "@angular/forms"

export class AppComponent {
  contactForm: FormGroup
  constructor(private fb: FormBuilder) {
    this.contactForm = this.fb.group({
      fullName: this.fb.group({
        firstName: ["", [Validators.required]],
        lastName: [""]
      }),
      phone: []
    })
  }
}
로그인 후 복사
🎜2) 도입, DOM 양식을 ngForm🎜
<div>
  <input type="text" [(ngModal)]="name" (ngModalChange)="nameChange()" />
</div>
로그인 후 복사
로그인 후 복사
🎜3)으로 변환, 양식 필드를 ngModel🎜
import { FormControl, FormGroup } from "@angular/forms"

export class AppComponent {
  public name = &#39;a&#39;;
  public nameChange() {
  }
}
로그인 후 복사
로그인 후 복사
🎜4)으로 선언, 양식 필드 가져오기 Value🎜
<div [formGroup]="contactForm">
  <input type="text" formControlName="name" />
</div>
로그인 후 복사
로그인 후 복사
🎜5), 양식 그룹화🎜
import { FormControl, FormGroup } from "@angular/forms"

export class AppComponent {
  contactForm: FormGroup = new FormGroup({
    name: new FormControl()
  })
	
	ngOnInt() {
		this.contactForm.get("name").valueChanges.subscribe(data => {
			console.log(data);
		}
	}
}
로그인 후 복사
로그인 후 복사
<form [formGroup]="form" (submit)="onSubmit()">
  <label *ngFor="let item of Data">
    <input type="checkbox" [value]="item.value" (change)="onChange($event)" />
    {{ item.name }}
  </label>
  <button>提交</button>
</form>
로그인 후 복사
로그인 후 복사
🎜🎜🎜1.3 양식 유효성 검사🎜🎜🎜
  • 필수 필수 필드🎜
  • minlength 최소 필드 길이🎜
  • maxlength 최대 필드 길이🎜
  • 패턴 검증 일반 예: 패턴="d"가 숫자 값과 일치합니다. 🎜🎜
    import { Component } from "@angular/core"
    import { FormArray, FormBuilder, FormGroup } from "@angular/forms"
    interface Data {
      name: string
      value: string
    }
    @Component({
      selector: "app-checkbox",
      templateUrl: "./checkbox.component.html",
      styles: []
    })
    export class CheckboxComponent {
      Data: Array<Data> = [
        { name: "Pear", value: "pear" },
        { name: "Plum", value: "plum" },
        { name: "Kiwi", value: "kiwi" },
        { name: "Apple", value: "apple" },
        { name: "Lime", value: "lime" }
      ]
      form: FormGroup
    
      constructor(private fb: FormBuilder) {
        this.form = this.fb.group({
          checkArray: this.fb.array([])
        })
      }
    
      onChange(event: Event) {
        const target = event.target as HTMLInputElement
        const checked = target.checked
        const value = target.value
        const checkArray = this.form.get("checkArray") as FormArray
    
        if (checked) {
          checkArray.push(this.fb.control(value))
        } else {
          const index = checkArray.controls.findIndex(
            control => control.value === value
          )
          checkArray.removeAt(index)
        }
      }
    
      onSubmit() {
        console.log(this.form.value)
      }
    }
    로그인 후 복사
    로그인 후 복사
    export class AppComponent {
      form: FormGroup
    
      constructor(public fb: FormBuilder) {
        this.form = this.fb.group({ gender: "" })
      }
    
      onSubmit() {
        console.log(this.form.value)
      }
    }
    로그인 후 복사
    로그인 후 복사
    <form [formGroup]="form" (submit)="onSubmit()">
      <input type="radio" value="male" formControlName="gender" /> Male
      <input type="radio" value="female" formControlName="gender" /> Female
      <button type="submit">Submit</button>
    </form>
    로그인 후 복사
    로그인 후 복사
    🎜는 구성 요소 템플릿에서 양식 항목이 실패할 때 오류 메시지를 표시합니다. 🎜rrreee🎜양식 항목이 유효성 검사에 실패할 때 스타일을 지정하세요. 🎜rrreee

    🎜2. Model-driven🎜

    🎜🎜🎜2.1 개요🎜🎜🎜🎜양식의 제어 로직컴포넌트에 작성됩니다. class 는 유효성 검사 논리를 더 효과적으로 제어할 수 있으며 복잡한 양식 유형에 적합합니다. 🎜🎜모델 기반 양식에서 양식 필드는 FormControl 클래스의 인스턴스여야 합니다. 인스턴스 개체는 양식 필드의 값을 확인할 수 있습니다. 값 등이 수정되었습니다. 🎜🎜 사진 설명을 추가해주세요
    양식 필드 집합 전체 양식은 양식에 대해 전체 유효성 검사를 수행할 수 있는 FormGroup 클래스의 인스턴스여야 합니다. 🎜🎜이미지 설명을 추가해주세요🎜
    • 🎜FormControl: 양식 그룹의 양식 항목🎜🎜
    • 🎜FormGroup: 양식 그룹, 양식은 최소한 하나의 FormGroup🎜🎜
    • 🎜FormArray: 다음에 사용됩니다. 복잡한 양식을 사용하면 양식 항목이나 양식 그룹을 동적으로 추가할 수 있습니다. 양식 유효성 검사 중에 FormArray의 한 항목이 실패하고 전체가 실패합니다. 🎜🎜🎜🎜🎜🎜2.2 빠르게 시작하기🎜🎜🎜🎜1), ReactiveFormsModule 소개🎜rrreee🎜2), 컴포넌트 클래스에서 FormGroup 양식 제어 객체 생성🎜rrreee🎜3), 컴포넌트 템플릿에 양식 연결🎜rrreee 🎜4) , 양식 값 가져오기🎜rrreee🎜5), 양식 기본값 설정🎜rrreee🎜6), 양식 그룹화🎜rrreeerrreeerrreee🎜🎜🎜2.3 FormArray🎜🎜🎜🎜요구 사항: 일련의 연락처 정보가 페이지에 기본적으로 표시됩니다. , 추가 연락처 그룹 버튼을 클릭하여 추가할 수 있습니다. 🎜rrreeerrreee🎜🎜🎜2.4 내장된 양식 유효성 검사기🎜🎜🎜🎜1) 내장된 유효성 검사기가 제공하는 유효성 검사 규칙을 사용하여 양식 필드를 확인하고🎜rrreee🎜2) 전체 양식이 확인되었는지 여부를 확인하세요🎜 rrreeerrreee🎜3), 구성 요소 템플릿에서 확인이 통과되면 오류 메시지로 표시됩니다🎜rrreeerrreee🎜🎜🎜2.5 사용자 정의 동기화 양식 검사기🎜🎜🎜
      • 🎜The 사용자 정의 유효성 검사기 유형은 TypeScript 클래스입니다 🎜🎜
      • 🎜클래스에는 정적 메서드여야 하는 특정 확인 메서드가 포함되어 있습니다🎜🎜
      • 🎜확인 메서드에는 매개 변수 컨트롤이 있으며 유형은 AbstractControl입니다. 사실 FormControl 클래스의 인스턴스 객체 타입입니다🎜🎜
      • 🎜검증에 성공하면 null이 반환됩니다🎜🎜
      • 🎜검증에 실패하면 객체의 속성이 반환됩니다. 은 확인 식별이며 항목을 식별하는 값은 true입니다. 유효성 검사 실패🎜🎜
      • 🎜 유효성 검사 메서드의 반환 값은 ValidationErrors | null🎜🎜🎜rrreeerrreeerrreee🎜🎜🎜2.6 사용자 정의 비동기 양식 유효성 검사기🎜🎜🎜 rrreeerrreeerrreee🎜🎜🎜2.7 FormBuilder🎜🎜 🎜🎜양식을 빠르게 생성하세요. 🎜
        • 🎜this.fb.control: 양식 항목 🎜🎜
        • 🎜this.fb.group< /code>: 양식 그룹, 양식은 하나 이상의 FormGroup입니다🎜🎜<li>🎜<code>this.fb.array: 복잡한 양식에 사용되며, 양식 중에 양식 항목이나 양식 그룹을 동적으로 추가할 수 있습니다. 유효성 검사, FormArray의 한 항목이 실패했고 전체가 실패했습니다. 🎜🎜🎜rrreee🎜🎜🎜2.8 양식 값의 변경 사항 모니터링🎜🎜🎜

          实际工作中,我们常常需要根据某个表单值得变化而进行相应的处理,一般可以使用ngModalChange或者表单来实现

          2.8.1 ngModalChange

          <div>
            <input type="text" [(ngModal)]="name" (ngModalChange)="nameChange()" />
          </div>
          로그인 후 복사
          로그인 후 복사
          import { FormControl, FormGroup } from "@angular/forms"
          
          export class AppComponent {
            public name = &#39;a&#39;;
            public nameChange() {
            }
          }
          로그인 후 복사
          로그인 후 복사

          angular官方并不建议使用ngModalChange。

          2.8.2 表单控制

          <div [formGroup]="contactForm">
            <input type="text" formControlName="name" />
          </div>
          로그인 후 복사
          로그인 후 복사
          import { FormControl, FormGroup } from "@angular/forms"
          
          export class AppComponent {
            contactForm: FormGroup = new FormGroup({
              name: new FormControl()
            })
          	
          	ngOnInt() {
          		this.contactForm.get("name").valueChanges.subscribe(data => {
          			console.log(data);
          		}
          	}
          }
          로그인 후 복사
          로그인 후 복사

          2.9 练习

          1)、获取一组复选框中选中的值

          <form [formGroup]="form" (submit)="onSubmit()">
            <label *ngFor="let item of Data">
              <input type="checkbox" [value]="item.value" (change)="onChange($event)" />
              {{ item.name }}
            </label>
            <button>提交</button>
          </form>
          로그인 후 복사
          로그인 후 복사
          import { Component } from "@angular/core"
          import { FormArray, FormBuilder, FormGroup } from "@angular/forms"
          interface Data {
            name: string
            value: string
          }
          @Component({
            selector: "app-checkbox",
            templateUrl: "./checkbox.component.html",
            styles: []
          })
          export class CheckboxComponent {
            Data: Array<Data> = [
              { name: "Pear", value: "pear" },
              { name: "Plum", value: "plum" },
              { name: "Kiwi", value: "kiwi" },
              { name: "Apple", value: "apple" },
              { name: "Lime", value: "lime" }
            ]
            form: FormGroup
          
            constructor(private fb: FormBuilder) {
              this.form = this.fb.group({
                checkArray: this.fb.array([])
              })
            }
          
            onChange(event: Event) {
              const target = event.target as HTMLInputElement
              const checked = target.checked
              const value = target.value
              const checkArray = this.form.get("checkArray") as FormArray
          
              if (checked) {
                checkArray.push(this.fb.control(value))
              } else {
                const index = checkArray.controls.findIndex(
                  control => control.value === value
                )
                checkArray.removeAt(index)
              }
            }
          
            onSubmit() {
              console.log(this.form.value)
            }
          }
          로그인 후 복사
          로그인 후 복사

          2)、获取单选框中选中的值

          export class AppComponent {
            form: FormGroup
          
            constructor(public fb: FormBuilder) {
              this.form = this.fb.group({ gender: "" })
            }
          
            onSubmit() {
              console.log(this.form.value)
            }
          }
          로그인 후 복사
          로그인 후 복사
          <form [formGroup]="form" (submit)="onSubmit()">
            <input type="radio" value="male" formControlName="gender" /> Male
            <input type="radio" value="female" formControlName="gender" /> Female
            <button type="submit">Submit</button>
          </form>
          로그인 후 복사
          로그인 후 복사

          2.10 其他

          • patchValue:设置表单控件的值(可以设置全部,也可以设置其中某一个,其他不受影响)

          • setValue:设置表单控件的值 (设置全部,不能排除任何一个)

          • valueChanges:当表单控件的值发生变化时被触发的事件

          • reset:表单内容置空

          更多编程相关知识,请访问:编程视频!!

          위 내용은 각도 학습은 두 가지 유형의 양식에 대해 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

독립형 구성 요소에 대한 각도 학습 설명(Standalone Component) 독립형 구성 요소에 대한 각도 학습 설명(Standalone Component) Dec 19, 2022 pm 07:24 PM

이 글은 여러분이 계속해서 Angular를 배우고 Angular의 독립형 컴포넌트(Standalone Component)를 간략하게 이해하는 데 도움이 되기를 바랍니다.

Ubuntu 24.04에 Angular를 설치하는 방법 Ubuntu 24.04에 Angular를 설치하는 방법 Mar 23, 2024 pm 12:20 PM

Angular.js는 동적 애플리케이션을 만들기 위해 자유롭게 액세스할 수 있는 JavaScript 플랫폼입니다. HTML 구문을 템플릿 언어로 확장하여 애플리케이션의 다양한 측면을 빠르고 명확하게 표현할 수 있습니다. Angular.js는 코드를 작성, 업데이트 및 테스트하는 데 도움이 되는 다양한 도구를 제공합니다. 또한 라우팅 및 양식 관리와 같은 많은 기능을 제공합니다. 이 가이드에서는 Ubuntu24에 Angular를 설치하는 방법에 대해 설명합니다. 먼저 Node.js를 설치해야 합니다. Node.js는 서버 측에서 JavaScript 코드를 실행할 수 있게 해주는 ChromeV8 엔진 기반의 JavaScript 실행 환경입니다. Ub에 있으려면

각도 학습 상태 관리자 NgRx에 대한 자세한 설명 각도 학습 상태 관리자 NgRx에 대한 자세한 설명 May 25, 2022 am 11:01 AM

이 글은 Angular의 상태 관리자 NgRx에 대한 심층적인 이해를 제공하고 NgRx 사용 방법을 소개하는 글이 될 것입니다.

Angular의 서버 측 렌더링(SSR)을 탐색하는 기사 Angular의 서버 측 렌더링(SSR)을 탐색하는 기사 Dec 27, 2022 pm 07:24 PM

앵귤러 유니버셜(Angular Universal)을 아시나요? 웹사이트가 더 나은 SEO 지원을 제공하는 데 도움이 될 수 있습니다!

프론트엔드 개발에 PHP와 Angular를 사용하는 방법 프론트엔드 개발에 PHP와 Angular를 사용하는 방법 May 11, 2023 pm 04:04 PM

인터넷의 급속한 발전과 함께 프론트엔드 개발 기술도 지속적으로 개선되고 반복되고 있습니다. PHP와 Angular는 프런트엔드 개발에 널리 사용되는 두 가지 기술입니다. PHP는 양식 처리, 동적 페이지 생성, 액세스 권한 관리와 같은 작업을 처리할 수 있는 서버측 스크립팅 언어입니다. Angular는 단일 페이지 애플리케이션을 개발하고 구성 요소화된 웹 애플리케이션을 구축하는 데 사용할 수 있는 JavaScript 프레임워크입니다. 이 기사에서는 프론트엔드 개발에 PHP와 Angular를 사용하는 방법과 이들을 결합하는 방법을 소개합니다.

Angular + NG-ZORRO로 백엔드 시스템을 빠르게 개발 Angular + NG-ZORRO로 백엔드 시스템을 빠르게 개발 Apr 21, 2022 am 10:45 AM

이 기사는 Angular의 실제 경험을 공유하고 ng-zorro와 결합된 angualr을 사용하여 백엔드 시스템을 빠르게 개발하는 방법을 배우게 될 것입니다. 모든 사람에게 도움이 되기를 바랍니다.

각도에서 monaco-editor를 사용하는 방법에 대한 간략한 분석 각도에서 monaco-editor를 사용하는 방법에 대한 간략한 분석 Oct 17, 2022 pm 08:04 PM

각도에서 모나코 편집기를 사용하는 방법은 무엇입니까? 다음 글은 최근 비즈니스에서 사용되는 Monaco-Editor의 활용 사례를 기록한 글입니다.

Angular의 독립 구성요소에 대한 간략한 분석 및 사용 방법 알아보기 Angular의 독립 구성요소에 대한 간략한 분석 및 사용 방법 알아보기 Jun 23, 2022 pm 03:49 PM

이 기사에서는 Angular의 독립 구성 요소, Angular에서 독립 구성 요소를 만드는 방법, 기존 모듈을 독립 구성 요소로 가져오는 방법을 안내합니다.

See all articles