parent
4d07ed809c
commit
f4f0966b33
@ -36,7 +36,8 @@ class ComputedRefImpl<T> {
|
||||
constructor(
|
||||
getter: ComputedGetter<T>,
|
||||
private readonly _setter: ComputedSetter<T>,
|
||||
isReadonly: boolean
|
||||
isReadonly: boolean,
|
||||
isSSR: boolean
|
||||
) {
|
||||
this.effect = new ReactiveEffect(getter, () => {
|
||||
if (!this._dirty) {
|
||||
@ -44,6 +45,7 @@ class ComputedRefImpl<T> {
|
||||
triggerRefValue(this)
|
||||
}
|
||||
})
|
||||
this.effect.active = !isSSR
|
||||
this[ReactiveFlags.IS_READONLY] = isReadonly
|
||||
}
|
||||
|
||||
@ -73,7 +75,8 @@ export function computed<T>(
|
||||
): WritableComputedRef<T>
|
||||
export function computed<T>(
|
||||
getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>,
|
||||
debugOptions?: DebuggerOptions
|
||||
debugOptions?: DebuggerOptions,
|
||||
isSSR = false
|
||||
) {
|
||||
let getter: ComputedGetter<T>
|
||||
let setter: ComputedSetter<T>
|
||||
@ -91,9 +94,9 @@ export function computed<T>(
|
||||
setter = getterOrOptions.set
|
||||
}
|
||||
|
||||
const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter)
|
||||
const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR)
|
||||
|
||||
if (__DEV__ && debugOptions) {
|
||||
if (__DEV__ && debugOptions && !isSSR) {
|
||||
cRef.effect.onTrack = debugOptions.onTrack
|
||||
cRef.effect.onTrigger = debugOptions.onTrigger
|
||||
}
|
||||
|
7
packages/runtime-core/src/apiComputed.ts
Normal file
7
packages/runtime-core/src/apiComputed.ts
Normal file
@ -0,0 +1,7 @@
|
||||
import { computed as _computed } from '@vue/reactivity'
|
||||
import { isInSSRComponentSetup } from './component'
|
||||
|
||||
export const computed = ((getterOrOptions: any, debugOptions?: any) => {
|
||||
// @ts-ignore
|
||||
return _computed(getterOrOptions, debugOptions, isInSSRComponentSetup)
|
||||
}) as typeof _computed
|
@ -3,7 +3,6 @@
|
||||
export const version = __VERSION__
|
||||
export {
|
||||
// core
|
||||
computed,
|
||||
reactive,
|
||||
ref,
|
||||
readonly,
|
||||
@ -34,6 +33,7 @@ export {
|
||||
getCurrentScope,
|
||||
onScopeDispose
|
||||
} from '@vue/reactivity'
|
||||
export { computed } from './apiComputed'
|
||||
export {
|
||||
watch,
|
||||
watchEffect,
|
||||
|
Loading…
Reference in New Issue
Block a user