当前位置: 首页 > news >正文

网站建设代码模板如何做网络营销推广

网站建设代码模板,如何做网络营销推广,建设企业网站包含什么,wordpress外贸插件问题#xff1a; 在Vue 3.0 中我们使用 reactive() 定义的响应式数据的时候#xff0c;当是一个数组或对象时#xff0c;我们直接进行赋值#xff0c;发现数据已经修改成功#xff0c;但是页⾯并没有自动渲染成最新的数据#xff1b;这是为什么呢#xff1f; 就如同官网…问题 在Vue 3.0 中我们使用 reactive() 定义的响应式数据的时候当是一个数组或对象时我们直接进行赋值发现数据已经修改成功但是页⾯并没有自动渲染成最新的数据这是为什么呢 就如同官网所说的reactive存在一些局限性官方的描述 原因 原因就是reactive函数会返回一个Proxy包装的对象所以当我们这样直接赋值时看下面例子 import { reactive } from vue;let userInfo reactive([{name:Eula}]) console.log(userInfo) // Proxy(Array) 打印出来是一个Proxy对象 当然具备响应式// 直接后端数据进行赋值 userInfo [{name:优菈}] console.log(userInfo) // [{name:优菈}] 可以看出 就是打印出了一个普通的数组 所以不具备响应式这样赋值的话就会把Proxy对象给覆盖掉从而无法触发对应的set和get最终就会导致丢失掉响应性了 上面的代码 reactive([{name:Eula}]) 创建了一个响应式数组返回一个Proxy包装的对象由userInfo变量进行存放但是后面我又把一个普通的数组也就是后端返回的数据赋值给userInfo注意这时userInfo这个变量存放的已经是一个普通的数组了当然也就不具备响应式了 所以对于reactive创建的响应式数据应该避免直接使用号进行赋值会覆盖响应式; 解决方案 一、再封装一层数据即定义属性名在后期赋值的时候对此属性进行直接赋值 再封装一层数据注意myRenderList 这个属性就是新增的属性用来存放列表数据就是比较麻烦了一些。 script setup import { reactive, ref } from vue; // 定义响应式 let list1 reactive({myRenderList:[]});// 请求的数据 let newList1 [{ name: Eula, age: 18, isActive: false },{ name: Umbra, age: 17, isActive: false }, ]// 更改数据 const setList1 () {list1.myRenderList newList1 } /script二、使用数组的splice来直接更改原数组 还是用reactive来定义响应式数据只不过改数据的方式变了使用数组的原生方法splice()来更改原数组不是直接覆盖所以并不会影响响应式 splice有三个参数时可以对数组进行修改 第一项是起始索引 第二项是长度 第三项是新插入的元素可以有多个 下面的代码是把之前数组的每一项删除掉然后插入新的数据newList1使用...扩展符进行展开每一项 list1.splice(0,list1.length,...newList1)当然push()方法也是可以触发响应式的只不过只能在后面新增数据。还有popshiftunshift等方法用的不多 script setup import { reactive, ref } from vue; // 定义响应式 let list1 reactive([]);// 请求的数据 let newList1 [{ name: Eula, age: 18, isActive: false },{ name: Umbra, age: 17, isActive: false }, ]// 更改数据 const setList1 () {// splice三个参数时 第一项是起始索引 第二项是长度 第三项是新插入的元素,可以有多个list1.splice(0,list1.length,...newList1) } /script三、使用 ref 来定义数据 复杂数据类型也可以使用ref进行定义而且数据都是响应式的原理就有点像第一种方式重新包装了一层value每次使用的时候都要写.value; ref实际就是对一个普通值做了一层包装包装成一个对象并通过其get和set实现依赖收集和更新,其实现原理类似于computed; script setup import { reactive, ref } from vue; // 定义响应式 let list1 ref([]);// 请求的数据 let newList1 [{ name: Eula, age: 18, isActive: false },{ name: Umbra, age: 17, isActive: false }, ]// 更改数据 const setList1 () {list1.value newList1; } /script
http://wiki.neutronadmin.com/news/258721/

相关文章:

  • 网站模板带后台 下载360投放广告怎么收费
  • 前台网站系统源码三视觉平面设计网
  • 手机网站制作套餐福清市百度seo
  • 网站应如何设计网站为契机建设校园数字化
  • php商务网站开发代码山东展厅设计公司
  • 网站建设费用的账务处理投资5万的小型加工厂
  • 内容网站 如何做采集网站页面排名优化
  • 株洲能建网站的有哪些网站博客程序
  • 做微视频的网站wordpress添加爬虫数据
  • 2008 iis 添加 网站 权限宁远做网站
  • 如何做产品网站网页设计天津海外seo
  • 织梦可以做商城网站吗网站托管共享服务器费用一年多少钱
  • 只用php做网站哪个网站空间好
  • 2017网站设计wordpress模版做网页
  • 做搜狗手机网站优wordpress 3.5 下载
  • 微网站与移动开发是做什么的上海莱布拉网站建设
  • 建论坛网站wordpress增加小工具
  • 广西网站建设公司电话建立网站方法
  • 黄石百度做网站多少钱深圳外企公司排名
  • 广州站在哪里辽宁鞍山刚刚发布
  • 中小学网站建设方案公司网站建设和推广
  • wordpress 多站点 拷贝自己建设网站步骤
  • 陕西网站建设厦门网站制作福州做网站互联网公司
  • 留学网站建设多少钱沈阳建设电商网站
  • 温岭建设规划局网站下城网站建设
  • 许昌网站建设科技公司网站建设与网页制作实训报告
  • 辽宁省住房和城乡建设网站wordpress手机版
  • 购物商城网站开发公司小程序爱成毅的微博
  • 网站图片标签网站怎么做能让人搜到
  • 茶叶网站开发如何建立公司网页