Spec-Zone.ru › Angular

model

model объявляет доступный для записи сигнал, который предоставляется в содержащей его директиве как пара входного и выходного параметров.

Имя входного параметра берётся либо из члена класса, либо из параметра alias. Имя выходного параметра создаётся добавлением Change к имени входного параметра.

Двусторонняя привязка между компонентамиВходные параметры моделиНастройка входных параметров модели

API

function model<T>();
function model<T>(initialValue, opts?);

function model.required<T>(opts?);
function model<T>(): ModelSignal<T | undefined>;

Инициализирует модель типа T с начальным значением undefined. Angular неявно использует undefined в качестве начального значения.

@returnsModelSignal<T | undefined>
function model<T>(initialValue: T, opts?: ModelOptions | undefined): ModelSignal<T>;

Инициализирует модель типа T с указанным начальным значением.

@paraminitialValueT
@paramoptsModelOptions | undefined
@returnsModelSignal<T>
function model.required<T>(opts?: ModelOptions | undefined): ModelSignal<T>;

Инициализирует обязательную модель.

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

@paramoptsModelOptions | undefined
@returnsModelSignal<T>

Примечания по использованию

Чтобы использовать model(), импортируйте функцию из @angular/core.

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

В компоненте добавьте новый член класса и инициализируйте его вызовом model или model.required.

@Directive({
  ...
})
export class MyDir {
  firstName = model<string>();            // ModelSignal<string|undefined>
  lastName  = model.required<string>();   // ModelSignal<string>
  age       = model(0);                   // ModelSignal<number>
}

В шаблоне компонента можно отобразить значение model, вызвав сигнал.

<span>{{firstName()}}</span>

Обновление model эквивалентно обновлению доступного для записи сигнала.

updateName(newFirstName: string): void {
  this.firstName.set(newFirstName);
}

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/core/model

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API