From 5874eb5ead62cfe42dcb2de39f3d9115a0d5da23 Mon Sep 17 00:00:00 2001 From: edwardnie <31278178+edwardnyc@users.noreply.github.com> Date: Sat, 23 Apr 2022 18:49:51 +0800 Subject: [PATCH] feat: Unified as the key of raw in vue3 (#922) Co-authored-by: neiyichao03 --- src/reactivity/reactive.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reactivity/reactive.ts b/src/reactivity/reactive.ts index 797a6cee..c15fc447 100644 --- a/src/reactivity/reactive.ts +++ b/src/reactivity/reactive.ts @@ -16,12 +16,14 @@ import { isRef, UnwrapRef } from './ref' import { rawSet, accessModifiedSet } from '../utils/sets' import { isForceTrigger } from './force' +const SKIPFLAG = '__v_skip' + export function isRaw(obj: any): boolean { return Boolean( obj && hasOwn(obj, '__ob__') && typeof obj.__ob__ === 'object' && - obj.__ob__?.__raw__ + obj.__ob__?.[SKIPFLAG] ) } @@ -30,7 +32,7 @@ export function isReactive(obj: any): boolean { obj && hasOwn(obj, '__ob__') && typeof obj.__ob__ === 'object' && - !obj.__ob__?.__raw__ + !obj.__ob__?.[SKIPFLAG] ) } @@ -261,7 +263,7 @@ export function markRaw(obj: T): T { // set the vue observable flag at obj const ob = createObserver() - ob.__raw__ = true + ob[SKIPFLAG] = true def(obj, '__ob__', ob) // mark as Raw