Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_WEB.docx
Скачиваний:
30
Добавлен:
03.12.2023
Размер:
391.51 Кб
Скачать

Билет 13

Что такое шаблонные переменные?  Для чего используются и какие бывают?

Шаблонные переменные позволяют определить некоторые переменные внутри шаблона компонента и затем ссылаться к этим переменным из этого же шаблона. Для определения подобных переменных применяется знак решетки.

Определение переменной выглядит следующим образом:

<p #userName>{{name}}</p>

Определение переменной userName в элементе параграфа означает, что мы можем обращаться к этому параграфу через данную переменную.

Шаблонные переменные не могут применяться вне шаблона, даже в коде класса компонента.

Чтобы все таки иметь возможность обращаться к методам и прочей функциональности дочернего компонента, надо использовать декоратор ViewChild. Данный декоратор применяется к свойству и получает селектор элемента DOM, который необходимо отслеживать.

Билет 14

Перечислите атрибутивные директивы. Распишите область применения и пример использования каждой директивы

Директива ngClass позволяет определить набор классов, которые будут применяться к элементу. В качестве значения она принимает набор классов в следующем виде:

[ngClass]={

"класс1": true/false,

"класс2": true/false,

...................

}

Пример:

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

@Component({

selector: 'my-app',

template: `<div [ngClass]="{verdanaFont:true}">

<h1>Hello Angular 8</h1>

<p [ngClass]="{segoePrintFont:true}">

Angular 8 представляет модульную архитектуру приложения

</p>

</div>`,

styles: [

`.verdanaFont{font-size:13px; font-family:Verdana;}

.segoePrintFont{font-size:14px; font-family:"Segoe Print";}`

]

})

export class AppComponent { }

Директива ngStyle позволяет задать набор стилей, которые применяются к элементу. В качестве значения директива принимает js-объект, в котором ключи - названия свойств CSS:

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

@Component({

selector: 'my-app',

template: `<div [ngStyle]="{'font-size':'13px', 'font-family':'Verdana'}">

<h1>Hello Angular 8</h1>

<p [ngStyle]="{'font-size':'14px', 'font-family':'Segoe Print'}">

Angular 8 представляет модульную архитектуру приложения

</p>

</div>`,

styles: [

`.verdanaFont{font-size:13px; font-family:Verdana;}

.segoePrintFont{font-size:14px; font-family:"Segoe Print";}`

]

})

export class AppComponent { }

Также для установки стилей можно применять свойства объекта style:

<div [style.fontSize]="'13px'" [style.fontFamily]="'Verdana'">

<h1>Hello Angular 8</h1>

<p [style.fontSize]="'14px'" [style.fontFamily]="'Segoe Print'">

Angular 8 представляет модульную архитектуру приложения

</p>

</div>

Билет 15

Перечислите структурные директивы. Распишите область применения и пример использования каждой директивы

ngIf

Директива ngIf позволяет удалить или, наоборот, добавить элемент при определенном условии. Например, определим следующий компонент:

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

 

@Component({

    selector: 'my-app',

    template: `<p *ngIf="condition">

                  Привет мир

                </p>

                <p *ngIf="!condition">

                  Пока мир

                </p>

                <button (click)="toggle()">Toggle</button>`

})

export class AppComponent {

     

    condition: boolean=true;

     

    toggle(){

        this.condition=!this.condition;

    }

}

В зависимости от значения свойства condition будет отображаться либо первый, либо второй параграф.

ngFor

Директива ngFor позволяет перебрать в шаблоне элементы массива. Например:

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

 

@Component({

    selector: 'my-app',

    template: `<ul>

                  <li *ngFor="let item of items">{{item}}</li>

                </ul>`

})

export class AppComponent {

     

    items =["Apple iPhone 7", "Huawei Mate 9", "Samsung Galaxy S7", "Motorola Moto Z"];

}

В качестве значения директива принимает значение перебора аля-foreach: let item of items. Каждый перебираемый элемент помещается в переменную item, которую мы можем вывести на страницу.

ngSwitch

С помощью директивы ngSwitch можно встроить в шаблон конструкцию switch..case и в зависимости от ее результата выполнения выводить тот или иной блок. Например:

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

 

@Component({

    selector: 'my-app',

    template: `<div [ngSwitch]="count">

                  <ng-template ngSwitchCase="1">{{count * 10}}</ng-template>

                  <ng-template ngSwitchCase="2">{{count * 100}}</ng-template>

                  <ng-template ngSwitchDefault>{{count * 1000}}</ng-template>

                </div>`

})

export class AppComponent {

     

    count: number = 5;

}

Директива ngSwitch в качестве значения принимает некоторое выражение. В данном случае это свойство count. В элемент ng-template помещается инструкция ngSwitchCase, которая сравнивает значение выражения из ngSwitch с другим выражением. Если оба выражения равны, то используется данный элемент template. Иначе выполнение переходит к следующим инструкциям ngSwitchCase. Если же ни одна из инструкций ngSwitchCase не была выполнена, то вызывается инструкция ngSwitchDefault.

Соседние файлы в предмете Web технологии