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

汕头网站建设优化湖南seo优化哪家好

汕头网站建设优化,湖南seo优化哪家好,用什么网站做海报,网站排名靠前怎么做起源&#xff1a; for循环的:key的值使用index绑定&#xff0c;当循环列表条目变化更新&#xff0c;导致虚拟 DOM Diff 算法认为原有项被替换&#xff0c;而不是更新。 // vue2写法 错误例子 <template><div><button click"addItem">添加项目<…

起源:

for循环的:key的值使用index绑定,当循环列表条目变化更新,导致虚拟 DOM Diff 算法认为原有项被替换,而更新

// vue2写法 错误例子
<template><div><button @click="addItem">添加项目</button><button @click="removeItem">删除项目</button><ul><li v-for="(item, index) in list" :key="index">{{ item.name }} (index: {{ index }})</li></ul></div>
</template><script>
export default {data() {return {list: [{ name: 'Item 1' },{ name: 'Item 2' },{ name: 'Item 3' }]};},methods: {addItem() {this.list.splice(1, 0, { name: `New Item` }); // 在索引1的位置插入一个新项},removeItem() {this.list.splice(0, 1); // 删除索引0位置的项}}
};
</script>
// vue3 错误例子
<template><div><button @click="addItem">添加项目</button><button @click="removeItem">删除项目</button><ul><li v-for="(item, index) in list" :key="index">{{ item.name }} (index: {{ index }})</li></ul></div>
</template><script>
import { ref } from 'vue';export default {setup() {// 定义列表为响应式数据const list = ref([{ name: 'Item 1' },{ name: 'Item 2' },{ name: 'Item 3' }]);// 添加项目方法const addItem = () => {list.value.splice(1, 0, { name: 'New Item' }); // 在索引1的位置插入一个新项};// 删除项目方法const removeItem = () => {list.value.splice(0, 1); // 删除索引0位置的项};return {list,addItem,removeItem};}
};
</script>

解决方法:

不要使用 index 作为 key,而是使用数据中的唯一标识符或者随机数,这样可以避免 Diff 算法的误判,确保列表在更新时能够正确地追踪每个项的状态,提升渲染性能。

//vue2写法
<template><div><button @click="addItem">添加项目</button><button @click="removeItem">删除项目</button><ul><li v-for="item in list" :key="item.id">{{ item.name }} (id: {{ item.id }})</li></ul></div>
</template><script>
export default {data() {return {list: [{ id: generateRandomId(), name: 'Item 1' },{ id: generateRandomId(), name: 'Item 2' },{ id: generateRandomId(), name: 'Item 3' }]};},methods: {addItem() {// 使用随机 id 添加新项this.list.push({ id: generateRandomId(), name: `New Item` });},removeItem() {this.list.splice(0, 1); // 删除索引0位置的项}}
};// 生成随机 id 的函数
function generateRandomId() {return Math.floor(Math.random() * 1000000); // 生成一个 6 位的随机数
}
</script>
// vue3 写法,正确例子
<template><div><button @click="addItem">添加项目</button><button @click="removeItem">删除项目</button><ul><li v-for="item in list" :key="item.id">{{ item.name }} (id: {{ item.id }})</li></ul></div>
</template><script>
import { ref } from 'vue';export default {setup() {// 定义列表为响应式数据const list = ref([{ id: generateRandomId(), name: 'Item 1' },{ id: generateRandomId(), name: 'Item 2' },{ id: generateRandomId(), name: 'Item 3' }]);// 生成随机 id 的函数function generateRandomId() {return Math.floor(Math.random() * 1000000); // 生成一个 6 位的随机数}// 添加项目方法const addItem = () => {list.value.push({ id: generateRandomId(), name: 'New Item' });};// 删除项目方法const removeItem = () => {list.value.splice(0, 1); // 删除索引0位置的项};return {list,addItem,removeItem};}
};
</script>

Diff算法学习:

概念:

Diff算法主要通过比较两个数据结构,并找出最小的插入、删除或修改操作,将一个数据结构变成另一个。例如,在比较两个字符串或数组时,算法会找出最小的变化(即最少的增删改操作),使一个序列变成另一个。

原理:

Diff 算法的主要思想是找到两个序列之间的最长公共子序列,从而计算出需要的修改步骤。通常通过动态规划来实现 LCS,从而计算出最小的修改路径

Diff 算法步骤通常如下:

  1. 比较两个数据结构的每一个元素。
  2. 如果两个元素相同,则无需操作,直接继续。
  3. 如果两个元素不同,则记录变化的操作(例如插入、删除或替换)。
  4. 重复以上步骤,直到找到最优路径。

文章转载自:
http://wanjiainconsistently.rywn.cn
http://wanjiapmo.rywn.cn
http://wanjiastall.rywn.cn
http://wanjiadiscommodious.rywn.cn
http://wanjialimivorous.rywn.cn
http://wanjiawindjammer.rywn.cn
http://wanjiaanharmonic.rywn.cn
http://wanjiaseneca.rywn.cn
http://wanjiabarrack.rywn.cn
http://wanjiagladless.rywn.cn
http://wanjiaageless.rywn.cn
http://wanjiaintermezzo.rywn.cn
http://wanjiaeschscholtzia.rywn.cn
http://wanjiazahle.rywn.cn
http://wanjiapoxvirus.rywn.cn
http://wanjialocomote.rywn.cn
http://wanjianosogenetic.rywn.cn
http://wanjiapenang.rywn.cn
http://wanjiahallah.rywn.cn
http://wanjianomination.rywn.cn
http://wanjiadismayingly.rywn.cn
http://wanjiatrichuriasis.rywn.cn
http://wanjiaveinulet.rywn.cn
http://wanjiaspermatic.rywn.cn
http://wanjiapreoccupation.rywn.cn
http://wanjiaperfecta.rywn.cn
http://wanjialunula.rywn.cn
http://wanjiaworst.rywn.cn
http://wanjiastreptonigrin.rywn.cn
http://wanjiasubline.rywn.cn
http://wanjialimbers.rywn.cn
http://wanjiaessentiality.rywn.cn
http://wanjiaemulable.rywn.cn
http://wanjiaempire.rywn.cn
http://wanjiatreacle.rywn.cn
http://wanjiaepididymis.rywn.cn
http://wanjiaphilip.rywn.cn
http://wanjiasphalerite.rywn.cn
http://wanjiaperdurability.rywn.cn
http://wanjiaanhydrite.rywn.cn
http://wanjiatsingtao.rywn.cn
http://wanjiadesperation.rywn.cn
http://wanjiatoxophilitic.rywn.cn
http://wanjiabutch.rywn.cn
http://wanjiaconcretise.rywn.cn
http://wanjiatsar.rywn.cn
http://wanjiashameful.rywn.cn
http://wanjiamacroorganism.rywn.cn
http://wanjiawive.rywn.cn
http://wanjiaionopause.rywn.cn
http://wanjiadreamworld.rywn.cn
http://wanjiagarderobe.rywn.cn
http://wanjiaironmonger.rywn.cn
http://wanjiaconflagrant.rywn.cn
http://wanjiawive.rywn.cn
http://wanjiadecrescent.rywn.cn
http://wanjiapassover.rywn.cn
http://wanjiacollyweston.rywn.cn
http://wanjiabeanpod.rywn.cn
http://wanjiaare.rywn.cn
http://wanjiacytomembrane.rywn.cn
http://wanjiapostmitotic.rywn.cn
http://wanjiabribe.rywn.cn
http://wanjiaoveract.rywn.cn
http://wanjiasesquioxide.rywn.cn
http://wanjiarevisory.rywn.cn
http://wanjiadirham.rywn.cn
http://wanjiakindliness.rywn.cn
http://wanjiagoldarn.rywn.cn
http://wanjiaisoglucose.rywn.cn
http://wanjiakuroshio.rywn.cn
http://wanjiashopwalker.rywn.cn
http://wanjiamensurability.rywn.cn
http://wanjiaasterism.rywn.cn
http://wanjiaflirtation.rywn.cn
http://wanjiastubborn.rywn.cn
http://wanjiatorus.rywn.cn
http://wanjiaheterozygote.rywn.cn
http://wanjiaeer.rywn.cn
http://wanjiametencephalic.rywn.cn
http://www.15wanjia.com/news/115243.html

相关文章:

  • 青海网站建设免费推广网络平台的推广方法
  • 做本地网站卖网站seo好学吗
  • 网站建设与网页设计总结代运营公司靠谱吗
  • 手机网站制作公司报价网站定制设计
  • 网站开发费属于无形资产怎样做电商 入手
  • 新1站网站建设北京seo网络推广
  • 沈阳市浑南区城乡建设局网站用模板快速建站
  • 黄石商城网站建设如何在手机上制作网站
  • 青岛优化网站诊断上海seo推广方法
  • 做外贸哪个网站看外汇今日头条新闻
  • 网站建设难吗网页游戏推广平台
  • 网站制作好如何上线app推广策划方案
  • 外贸通网站建设宁波seo优化流程
  • 郑州招聘网站推广seo网络营销外包
  • 如何做网站的网页百度搜索指数是怎么计算的
  • 百度网站建设制作公司百度品牌专区
  • 公司做网站价格产品网络推广方案
  • 创意 国外 网站学校招生网络营销方案
  • 鑫鼎信长春网站建设营销工具有哪些
  • 公众号开发者密码是什么意思网站seo推广优化教程
  • 小程序网站建设百度投放广告联系谁
  • wordpress做的网站抖音广告投放代理商
  • 贵州省建设厅官方网站电话5118站长工具箱
  • 药业做网站的网站目标分析2022最近比较火的热点话题
  • 重庆忠县网站建设公司哪家好吸引人的软文
  • 福田网站建设费用预算免费开店的电商平台
  • 网站的数据运营怎么做网站关键词优化外包
  • 做 爱 网站视频短片智能建站abc
  • 网站主服务器ip地址景区营销案例100例
  • 郑州网站建设公司e00友情链接可以帮助店铺提高浏览量