---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/Monitor.md
  - https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/jsapi-v2-1/doc/ru/llms.txt

# Monitor

Объект, отслеживающий изменения определенных полей данных на заданном менеджере данных. Также может использоваться для отслеживания изменений опций.

[Конструктор](#constructor-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
Monitor(dataManager)
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`dataManager`](#param-dataManager)[*](*star) | — | Тип: [IDataManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IDataManager.md)|[IOptionManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOptionManager.md)

Менеджер данных. ||
|#

\* Обязательный параметр/опция.

**Пример:**

```javascript
// Отслеживание изменений опции метки.
var placemark = new ymaps.Placemark([0, 0]),
    optionMonitor = new ymaps.Monitor(placemark.options);
optionMonitor.add("cursor", function (newValue) {
    alert("cursor: " + newValue);
});
myMap.geoObjects.add(placemark);
// Выведет строку "cursor: arrow".
myMap.options.set({
    geoObjectCursor: "arrow"
});
```

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#add)([name](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#add-param-name), [changeCallback](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#add-param-changeCallback)[, [context](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#add-param-context)[, [params](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#add-param-params)]]) | [Monitor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md) | Включает наблюдение за определенным полем, либо группой полей данных. ||
|| [forceChange](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#forceChange)() | [Monitor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md) | Инициирует проверку изменения значений наблюдаемых полей данных. ||
|| [get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#get)([name](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#get-param-name)) | Object | Возвращает текущее значение одного из наблюдаемых полей данных. ||
|| [remove](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#remove)([name](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#remove-param-name)) | [Monitor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md) | Отключает наблюдение за определенным полем, либо группой полей данных. ||
|| [removeAll](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md#removeAll)() | [Monitor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Monitor.md) | Отключает наблюдение для всех полей данных. ||
|#

## Описание методов {#method_detail}

### add {#add}

```javascript
{Monitor} add(name, changeCallback[, context[, params]])
```

Включает наблюдение за определенным полем, либо группой полей данных.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`name`](#add-param-name)[*](*star) | — | Тип: String\|String[]

Имя, либо массив имен полей данных, за которыми устанавливается наблюдение. ||
|| [`changeCallback`](#add-param-changeCallback)[*](*star) | — | Тип: Function

Обработчик изменения поля данных, либо одного из полей данных группы. ||
|| [`context`](#add-param-context) | — | Тип: Object

Контекст исполнения обработчика изменений данных, а также опциональных обработчиков. ||
|| [`params`](#add-param-params) | — | Тип: Object

Опциональные параметры. ||
|| [`params.compareCallback`](#add-param-params.compareCallback) | — | Тип: Function

Обработчик сравнивающий старое и новое значения поля данных. Принимает два аргумента: старое значение, новое значение. Менее приоритетен по отношению к обработчикам заданным с помощью параметра compareCallbacks. ||
|| [`params.compareCallbacks`](#add-param-params.compareCallbacks) | — | Тип: Object

Хэш вида {имя поля данных: ссылка на обработчик}. Данный параметр позволяет задать индивидуальные обработчики сравнения значений для различных полей данных в группе. ||
|| [`params.defaultValue`](#add-param-params.defaultValue) | — | Тип: Object

Значение по умолчанию, используемое в том случае, если поле данных не определено. ||
|| [`params.defaultValues`](#add-param-params.defaultValues) | — | Тип: Object

Хэш вида {имя поля данных: значение по умолчанию}. Данный параметр позволяет задать индивидуальные значения по умолчанию для различных полей данных в группе. ||
|| [`params.resolveCallback`](#add-param-params.resolveCallback) | — | Тип: Function

Обработчик разрешающий значение поля данных. Принимает два аргумента: имя поля данных, ссылку на менеджер данных. Менее приоритетен по отношению к обработчикам заданным с помощью параметра resolveCallbacks. ||
|| [`params.resolveCallbacks`](#add-param-params.resolveCallbacks) | — | Тип: Object

Хэш вида {имя поля данных: ссылка на обработчик}. Данный параметр позволяет задать индивидуальные обработчики разрешения значений для различных полей данных в группе. ||
|#

\* Обязательный параметр/опция.

### forceChange {#forceChange}

```javascript
{Monitor} forceChange()
```

Инициирует проверку изменения значений наблюдаемых полей данных.

**Возвращает** ссылку на себя.

### get {#get}

```javascript
{Object} get(name)
```

**Возвращает** текущее значение одного из наблюдаемых полей данных.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`name`](#get-param-name)[*](*star) | — | Тип: String

Имя поля данных. ||
|#

\* Обязательный параметр/опция.

### remove  {#remove}

```javascript
{Monitor} remove(name)
```

Отключает наблюдение за определенным полем, либо группой полей данных.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`name`](#remove-param-name)[*](*star) | — | Тип: String\|String[]

Имя, либо массив имен полей данных, для которых отключается наблюдение. ||
|#

\* Обязательный параметр/опция.

### removeAll {#removeAll}

```javascript
{Monitor} removeAll()
```

Отключает наблюдение для всех полей данных.

**Возвращает** ссылку на себя.

<!-- XLIFF_FARM_YTgxNTRl_CACHING -->

[*star]: Обязательный параметр.