Last updated
Last updated
vm.$watch( expOrFn, callback, [options] )
Аргументы:
{string | Function} expOrFn
{Function | Object} callback
{Object} [options]
{boolean} deep
{boolean} immediate
Возвращает: {Function} unwatch
Использование:
Запускает наблюдение за выражением или вычисляемой функцией на предмет изменений. В параметры коллбэка будут переданы новое и старое значения отслеживаемого объекта. Выражение может быть только простым путём до переменной с разделителями-точками. Для более сложных случаев используйте функцию.
Обратите внимание: когда изменяете (а не заменяете) объект или массив, старое и новое значения при вызове коллбэка будут совпадать, так как они ссылаются на один и тот же объект или массив. Vue не сохраняет копии объекта на момент, предшествовавший изменениям.
Пример:
vm.$watch
возвращает функцию unwatch, которая останавливает слежение:
Чтобы слежение реагировало на изменения во вложенных объектах, передайте deep: true
в объекте параметров. Обратите внимание, что для наблюдения за изменениями массивов этого не требуется.
Если передано immediate: true
, коллбэк будет вызван сразу же после начала наблюдения с текущим значением выражения:
Обратите внимание, при использовании опции immediate
нет возможности отменить отслеживание указанного свойства в коллбэке вызванном в первый раз.
Если необходимо вызвать функцию unwatch внутри коллбэка, то следует проверять её доступность: