Angular Flashcards

1
Q

Описание Angular

A

Angular - фреймворк от Google для создания клиентских одностраничных приложений SPA.

Особенности Angular:
- двустороннее связывание
- маршрутизация
- Архитектура MVC
- внедрение зависимостей
- исп. TypeScript

Для работы с Angular нужно установить:
- npm (пакетный менеджер)
- сервер node.js
- Angular CLI (для компиляции)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Директивы Angular

A

Директивы - набор инструкций, которые применяются при рендеринге html-кода.

Директива - это класс TypeScript, к которому применяется декоратор @Directive.

Типы директив Angular:
1) Компоненты
2) Атрибутивные (используются как атрибуты html-элементов)
3) Структурные (позволяют использовать код js в html-элементах)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Создание атрибутивных директив

A

import {Directive, ElementRef} from “@angular/core”;

@Directive({
selector: “[bold]”,
standalone: true
})
export class BoldDirective{
constructor(private elementRef: ElementRef){
this.elementRef.nativeElement.style.fontWeight = “bold”;
}
}

//использование:

<p>Hello Angular</p>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Структурные директивы

A

Структурные директивы:
1) ngFor (позволяет перебрать в шаблоне элементы массива):
<ul> <li *ngFor="let item of items">{{item}}</li> </ul>

2) ngIf (добавляет условие):
`<p *ngIf=”condition;else unset”>
Привет мир
</p>
<ng-template #unset>
<p>Пока мир</p>
</ng-template>

3) ngSwitch (встраивает в шаблон конструкцию switch..case)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ElementRef

A

ElementRef - представляет ссылку на элемент шаблона, к которому будет применяться директива.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Декоратор @HostListener

A

Декоратор @HostListener - позволяет связать события DOM и методы директивы.

@HostListener(“mouseenter”) onMouseEnter() {
this.setFontWeight(“bold”);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Декоратор @HostBinding

A

Декоратор @HostBinding - позволяет связать обычное свойство класса со свойством элемента, к которому применяется директива.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Получение параметров в директивах

A

Получение параметров в директивах - с помощью декоратора @Input.

Пример:
export class BoldDirective{
//Входные параметры
@Input() selectedSize = “18px”;

}

//использование

<p></p>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Создание структурных директив

A

Создание структурных директива - это класс, декорированный @Directive.

Пример:
- структурная директива для цикла while
- объектTemplateRef - для доступа к шаблону, передается автоматически через DI
- ViewContainerRef - объект рендерера

import { Directive, Input, TemplateRef, ViewContainerRef } from “@angular/core”;

@Directive({ selector: “[while]”, standalone:true })
export class WhileDirective {
constructor(private templateRef: TemplateRef<any>,
private viewContainer: ViewContainerRef)
{ }</any>

@Input() set while(condition: boolean) {
    if (condition) {
      this.viewContainer.createEmbeddedView(this.templateRef);
    } else {
      this.viewContainer.clear();
    }
} }
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly