Vue3-toRaw 和 markRaw 函数  
toRaw(转换为原始):将响应式对象转换为普通对象,只适用于 reactive 生成的响应式对象。 markRaw(标记为原始):标记某个对象,让这个对象永远都不具备响应式。一些集成的第三方库,会有大量的只读列表,不让其具备响应式是一种性能优化。   
 
< template> 
    < h2> 计数器1 :{ { data. counter1} } < / h2> 
    < button @click= "data.counter1++" > 计数器加1 < / button> < br> 
    < button @click= "getRawObject" > data原始对象< / button> 
< / template> 
< script setup> 
    import  {  reactive,  toRaw }  from  'vue' 
    let  data =  reactive ( { 
        counter1  :  1 
    } ) 
    function  getRawObject ( ) { 
        let  rawObj =  toRaw ( data) 
        
        rawObj. counter1++ 
        console. log ( '原始对象' ,  rawObj) ; 
    } 
< / script> 
  
 
< template> 
    < h2> 计数器1 :{ { data. x} } < / h2> 
    < button @click= "data.x.counter1++" > 计数器1 加1 < / button> < br> 
    < button @click= "addX" > 扩展x属性< / button> 
< / template> 
< script setup> 
    import  {  markRaw,  reactive }  from  'vue' 
    let  data =  reactive ( { } ) 
    function  addX ( ) { 
        
        data. x =  markRaw ( { counter1  :  1 } ) 
    } 
< / script>