diff --git a/src/apis/computed.ts b/src/apis/computed.ts index cdeaafbc..3aab9f78 100644 --- a/src/apis/computed.ts +++ b/src/apis/computed.ts @@ -38,7 +38,7 @@ export function computed( let computedSetter let computedGetter - if (vm) { + if (vm && !vm.$isServer) { const { Watcher, Dep } = getVueInternalClasses() let watcher: any computedGetter = () => { @@ -75,6 +75,8 @@ export function computed( }, }) + vm && vm.$on('hook:destroyed', () => computedHost.$destroy()) + computedGetter = () => (computedHost as any).$$state computedSetter = (v: T) => { if (__DEV__ && !set) {