(尚硅谷)Vue笔记------35

toRaw与markRaw

(尚硅谷)Vue笔记------35_第1张图片

(尚硅谷)Vue笔记------35_第2张图片 

(尚硅谷)Vue笔记------35_第3张图片 

(尚硅谷)Vue笔记------35_第4张图片 

(尚硅谷)Vue笔记------35_第5张图片

我们可以打印出我们原始的数据。这个用的时候相对比较少。

(尚硅谷)Vue笔记------35_第6张图片 

(尚硅谷)Vue笔记------35_第7张图片 

我们用toRaw方法后,我们的数据已经不是响应式数据了,所以就不会有页面渲染的功能了。

那我们这个方法能用在ref封装的数据上么?

 (尚硅谷)Vue笔记------35_第8张图片

(尚硅谷)Vue笔记------35_第9张图片 

我们可以通过控制台看到我们的toRaw方法只能针对于reactive方法使用,对于ref无效。

我们对代码进行改动,添加一个按钮:

(尚硅谷)Vue笔记------35_第10张图片 

(尚硅谷)Vue笔记------35_第11张图片 

(尚硅谷)Vue笔记------35_第12张图片 

页面出现警告信息,是因为我们的setup只执行一次,在toRefs(person)时,person还没有car属性呢,所以就报错了。我们可以做些操作消除这个警告:

(尚硅谷)Vue笔记------35_第13张图片 

我们在return中添加响应式对象,这样只要页面一有变化,person数据也会跟着发生变化。

(尚硅谷)Vue笔记------35_第14张图片 

我们这样可以用这种传值形式,并且配合v-show。

 (尚硅谷)Vue笔记------35_第15张图片

(尚硅谷)Vue笔记------35_第16张图片 

修改汽车数据:

(尚硅谷)Vue笔记------35_第17张图片 

然后现在我们去添加按钮功能,可以改变加个和名称:

 (尚硅谷)Vue笔记------35_第18张图片

 

 (尚硅谷)Vue笔记------35_第19张图片

(尚硅谷)Vue笔记------35_第20张图片 

但是现在有一种情况是,我们这部分数据,不能是响应式的数据,只能展示,不能修改。

我们就要使用vue3给我们提供的方法markRaw:

 (尚硅谷)Vue笔记------35_第21张图片

(尚硅谷)Vue笔记------35_第22张图片 

这样我们就只能展示了,但是不能修改值。

 

 

你可能感兴趣的:(Vue,vue.js,前端,javascript)