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

# Monitor

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

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

```javascript
Monitor(dataManager)
```

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `dataManager`[*](*parametr) | — | Тип: [IDataManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IDataManager.md)|[IOptionManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/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}

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

## Описание методов {#description-methods}

### add

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

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

**Returns** ссылку на себя.

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

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

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

Обработчик изменения поля данных, либо одного из полей данных группы. ||
|| `context` | — | Тип: Object

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

Опциональные параметры. ||
|| `params.compareCallback` | — | Тип: Function

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

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

Значение по умолчанию, используемое в том случае, если поле данных не определено. ||
|| `params.defaultValues` | — | Тип: Object

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

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

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

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

### forceChange

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

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

**Returns** ссылку на себя.

### get

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

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

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

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

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

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

### remove

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

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

**Returns** ссылку на себя.

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

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

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


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

### removeAll

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

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

**Returns** ссылку на себя.

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