首页IT科技vue多张图片合成一张(vue3中markRaw的使用)

vue多张图片合成一张(vue3中markRaw的使用)

时间2025-05-05 08:08:43分类IT科技浏览4320
导读:markRaw 作用:标记一个对象,使其永远不会再成为响应式对象 应用场景: 1.有些值不应被设置成响应式时,例如复杂的第三方类库等 2.当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能 3.在动态渲染组件的时候我们就可以使用 markRa...

markRaw 作用:标记一个对象,使其永远不会再成为响应式对象 应用场景: 1.有些值不应被设置成响应式时,例如复杂的第三方类库等 2.当渲染具有不可变数据源的大列表时,跳过响应式转换可以提高性能 3.在动态渲染组件的时候我们就可以使用 markRaw 包裹            。 markRaw 的使用场景 很多时候            ,我们会遇见这样的场景                 。 有一个响应式对象person      。 这个响应式对象有很多的属性         。 但是呢?个别属性是不需要响应式的                 。比如爱好 markRaw的使用 <template> <div> <p> 姓名: {{person.name}}</p> <p> 性别: {{person.sex}}</p> <p> 爱好: {{person.likes}}</p> <el-button @click="change">按钮</el-button> </div> </template> <script lang="ts" setup> import { reactive,markRaw } from vue let person:any = reactive({ name: "杨光", sex:, }); var likes = [吃饭,睡觉]; // 往响应式对象中新增一个likes属性                 ,该属性是响应式 // 但是我们使用markRaw包裹后这个likes属性值是不具有响应式的 person.likes = markRaw(likes); // 因此试图是不会更新的 var change = () => { person.likes[0]= 我要吃饭; person.likes[1]= 我要睡觉; console.log(person.likes); }; </script> 看了上面的例子你知道了什么? 看了上面这个例子         。 有的小伙伴会说      ,只要用markRaw包裹的对象      。 结论:那么这个对象就不是响应式对象                 。则试图就不会发生更改           。 验证 <template> <div> <p> 姓名: {{person.name}}</p> <p> 性别: {{person.sex}}</p> <p> 爱好: {{person.likes}}</p> <el-button @click="canChange">按钮</el-button> <!-- <el-button @click="onchange">按钮</el-button> --> </div> </template> <script lang="ts" setup> import { reactive,markRaw } from vue let person:any = reactive({ name: "杨光", sex:, likes:[吃饭,睡觉] }); let likes = [吃饭,睡觉]; person.likes = markRaw(likes); let canChange = () => { person.name=发生改变了 person.likes[0]= 我要吃饭; person.likes[1]= 我要睡觉; console.log(person.likes); }; </script> 是不是让你很失望,怎么会这样 其实:其实我...我...我...也不知道为啥   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
pythongui工具(Python工具箱系列(十二)) SEO优化指南(全面解析SEO优化的步骤和技巧)