-import { toRaw, shallowReactive } from '@vue/reactivity'
+import {
+ toRaw,
+ shallowReactive,
+ trigger,
+ TriggerOpTypes
+} from '@vue/reactivity'
import {
EMPTY_OBJ,
camelize,
}
}
+ // trigger updates for $attrs in case it's used in component slots
+ trigger(instance, TriggerOpTypes.SET, '$attrs')
+
if (__DEV__ && rawProps) {
validateProps(props, instance.type)
}
UnwrapRef,
toRaw,
shallowReadonly,
- ReactiveFlags
+ ReactiveFlags,
+ track,
+ TrackOpTypes
} from '@vue/reactivity'
import {
ExtractComputedReturns,
let cssModule, globalProperties
// public $xxx properties
if (publicGetter) {
- if (__DEV__ && key === '$attrs') {
- markAttrsAccessed()
+ if (key === '$attrs') {
+ track(instance, TrackOpTypes.GET, key)
+ __DEV__ && markAttrsAccessed()
}
return publicGetter(instance)
} else if (