useMutationObserver
监视对 DOM 树所做的更改。MutationObserver MDN
演示
用法
ts
import { useMutationObserver } from '@vueuse/core'
import { ref, useTemplateRef } from 'vue'
export default {
setup() {
const el = useTemplateRef('el')
const messages = ref([])
useMutationObserver(el, (mutations) => {
if (mutations[0])
messages.value.push(mutations[0].attributeName)
}, {
attributes: true,
})
return {
el,
messages,
}
},
}
类型声明
typescript
export interface UseMutationObserverOptions
extends MutationObserverInit,
ConfigurableWindow {}
/**
* Watch for changes being made to the DOM tree.
*
* @see https://vueuse.org.cn/useMutationObserver
* @see https://mdn.org.cn/en-US/docs/Web/API/MutationObserver MutationObserver MDN
* @param target
* @param callback
* @param options
*/
export declare function useMutationObserver(
target:
| MaybeComputedElementRef
| MaybeComputedElementRef[]
| MaybeRefOrGetter<MaybeElement[]>,
callback: MutationCallback,
options?: UseMutationObserverOptions,
): {
isSupported: ComputedRef<boolean>
stop: () => void
takeRecords: () => MutationRecord[] | undefined
}
export type UseMutationObserverReturn = ReturnType<typeof useMutationObserver>
源码
贡献者
更新日志
v12.8.0
于 2025/3/5v12.3.0
于 2025/1/259f75
- feat(toValue): 弃用 @vueuse/shared
中的 toValue
,支持 Vue 原生v12.0.0-beta.1
于 2024/11/21v11.0.0-beta.1
于 2024/6/12v10.8.0
于 2024/2/20v10.6.0
于 2023/11/9v10.5.0
于 2023/10/7