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

企业网站建设可行性分析任务二手车网站开发多少钱

企业网站建设可行性分析任务,二手车网站开发多少钱,wordpress弹窗视频播放插件,网站流量攻击软件v-if 与 v-for简介 v-ifv-forv-if v-for使用 v-if 与 v-for优先级比较 vue2 中#xff0c;v-for的优先级高于v-if 例子进行分析 vue3 v-if 具有比 v-for 更高的优先级 例子进行分析 总结 在vue2中#xff0c;v-for的优先级高于v-if在vue3中#xff0c;v-if的优先级高…v-if 与 v-for简介 v-ifv-forv-if v-for使用 v-if 与 v-for优先级比较 vue2 中v-for的优先级高于v-if 例子进行分析 vue3 v-if 具有比 v-for 更高的优先级 例子进行分析 总结 在vue2中v-for的优先级高于v-if在vue3中v-if的优先级高于v-for 咋一听到这个题如果自己没有试验过感觉还真容易说错就像是会进入一个“思维误区” 就会理所当然的想如果这两个指令同时出现一个标签那是不是应该先if判断是否存在才会去渲染for的循环结构但实际是这样吗 v-if 与 v-for简介 v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true值的时候被渲染。 v-if是Vue.js中的一个指令用于条件渲染根据绑定的表达式的值的真假情况来决定是否显示或隐藏元素。 当v-if的表达式值为true时元素会被渲染出来当v-if的表达式值为false时元素不会被渲染出来。 例如下面代码中如果isShow为true则div元素将会被渲染否则不会被渲染 templatediv v-ifisShowshow content/div /template需要注意的是v-if指令会根据表达式的值动态地添加或删除元素因此如果有频繁的切换操作会影响性能。 此时可以考虑使用v-show指令它只是简单地控制元素的显示或隐藏并没有频繁的添加或删除元素。 v-for v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法其中 items 是源数据数组或者对象而 item 则是被迭代的数组元素的别名。 v-for使用 的时候建议设置key值并且保证每个key值是独一无二的这便于diff算法进行优化。 v-for是Vue.js中的一个指令用于循环渲染数组或对象的数据。 v-for的用法有两种情况 遍历数组 可以通过v-for指令循环渲染一个数组将数组中的每个元素渲染成对应的元素或组件。语法形式为v-foritem in array。 例如下面代码中使用v-for指令循环渲染一个数组list中的每个元素 templatedivulli v-foritem in list :keyitem.id{{ item.name }}/li/ul/div /templatescript export default {data() {return {list: [{ id: 1, name: Apple },{ id: 2, name: Banana },{ id: 3, name: Orange }]};} } /script遍历对象 可以通过v-for指令循环渲染一个对象的属性将对象的属性和值渲染成对应的元素或组件。语法形式为v-forvalue, key in object。 例如下面代码中使用v-for指令循环渲染一个对象info的每个属性 templatedivulli v-for(value, key) in info :keykey{{ key }}: {{ value }}/li/ul/div /templatescript export default {data() {return {info: {name: John,age: 25,gender: Male}};} } /script需要注意的是在使用v-for时需要为每个循环的元素或组件添加唯一的key属性以便Vue.js能够跟踪每个节点的身份并且在更新时进行高效的DOM操作。 更多详细内容请微信搜索“前端爱好者“ 戳我 查看 。 v-if v-for使用 ul li v-foruser in users :keyuser.id{{user.name}}/li /ul footer v-ifuser{{user}}/footerv-if 与 v-for优先级比较 在vue2中v-for的优先级高于v-if在vue3中v-if的优先级高于v-forVue 3.0 已经调整了v-if和v-for 的优先级故不存在渲染性能问题。 vue2 中v-for的优先级高于v-if 当 v-if 与 v-for 一起使用时v-for 具有比 v-if 更高的优先级。 官方文档https://v2.cn.vuejs.org/v2/guide/conditional.html#v-if-%E4%B8%8E-v-for-%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8 在 Vue 2 中不推荐在同一个元素上同时使用 v-if 和 v-for主要是由于可能引发的性能问题和逻辑混淆。当 v-if 和 v-for 结合使用时会导致以下问题 性能问题 当 v-if 和 v-for 同时存在于同一个元素上时Vue 会在每次循环迭代时都重新渲染和销毁元素。这可能会导致不必要的 DOM 更新和性能下降特别是在较长的列表上。这是因为每次循环迭代都会重新计算条件并进行 DOM 操作。 逻辑混淆 同时使用 v-if 和 v-for 会增加代码的复杂性和理解难度。将条件和循环逻辑分离可以使代码更加清晰并让开发人员更容易理解和维护。 例子进行分析 templatediv classtest-containerdiv v-for(item,index) in list v-ifitem 9 :keyitem /div/div /template scriptexport default {data(){return {numberArr:[1,2,3,4,5,6,7,8,9,10]}}}; /script style scoped /style但是本段代码实际的逻辑为 this.numberArr.map(function (item,index) {if (item9) {return item} })相反最佳实践是: 将条件渲染 (v-if) 和列表渲染 (v-for) 分开处理。 可以使用计算属性或方法来处理数据然后在模板中分别使用 v-if 和 v-for。以下是一个示例代码 templatedivdiv v-ifshowDiv v-foritem in filteredItems :keyitem.id{{ item.name }}/div/div /templatescript export default {data() {return {showDiv: true,items: [{ id: 1, name: Item 1, isActive: true },{ id: 2, name: Item 2, isActive: false },{ id: 3, name: Item 3, isActive: true }]}},computed: {filteredItems() {return this.items.filter(item item.isActive);}} } /script 在上述示例中我们使用了计算属性 filteredItems 来过滤具有 isActive 属性的项目。 然后我们在模板中使用 v-for 来渲染过滤后的结果并使用 v-if 来条件性地渲染每个元素。这样可以保持逻辑的清晰和性能的优化。 vue3 v-if 具有比 v-for 更高的优先级 当 v-if 与 v-for 一起使用时v-if 具有比 v-for 更高的优先级。 官方文档https://cn.vuejs.org/guide/essentials/list.html#v-for-with-v-if !--这会抛出一个错误因为属性 todo 此时没有在该实例上定义 -- li v-fortodo in todos v-if!todo.isComplete{{ todo.name }} /li推荐: 在外新包装一层 再在其上使用 v-for 可以解决这个问题 (这也更加明显易读) template v-fortodo in todosli v-if!todo.isComplete{{ todo.name }}/li /template例子进行分析 templatediv classtest-containerdiv v-for(item,index) in numberArr v-ifitem 9 :keyitem/div/div /template script export default {data(){return {numberArr: [1,2,3,4,5,6,7,8,9,10] //需要遍历的数据}} }; /script style scoped /style 由于 v-if 优先级高,导致页面并没有进行渲染,控制台报错。 以下为控制台报错信息 [Vue warn]: Property index was accessed during render but is not defined on instance.但是下面这种用法控制台并不会报错但是会警告 templatediv classtest-containerulli v-for(item, index) in objList :keyindex v-ifitem.isShow{{ item.name }}/li/ul/div /template scriptexport default {data(){return {objList:[{ name: obj2, isShow: false },{ name: obj2, isShow: true },]}}}; /script style scoped /style 但是这种写法也会有一个问题无论是否符合v-if的条件都进行了报错 官方推荐的写法是这样的, 把 v-for 移动到容器元素上,例如ul,ol 或者外面包裹一层 template templatediv classtest-containerultemplate v-for(item, index) in objList :keyindexli v-ifitem.isShow{{ item.name }}/li/template/ul/div /template scriptexport default {data(){return {objList:[{ name: obj2, isShow: false },{ name: obj2, isShow: true },]}}}; /script style scoped /style但如果想要有条件地跳过循环的执行那么可以将v-if置于外层元素或者template上。 例如这样: templatediv classtest-containerul v-ifobjList.lengthli v-for(item, index) in objList :keyindex{{ item.name }}/li/ul/div /template script export default {data(){return {objList:[{ name: obj2, isShow: false },{ name: obj2, isShow: true },]}} }; /script style scoped /style总结 在vue2中v-for的优先级高于v-if Vue 会在每次循环迭代时都重新渲染和销毁元素。 v-for比v-if优先级更高可以说清结论的来源更好。 如果同时出现在同一个标签上则每次渲染都会先执行循环再进行条件判断会造成较大的性能浪费。 解决办法有两种: 先在外层套一个template来放置v-if再嵌套v-for。借助computed计算属性代替v-if。 在vue3中v-if的优先级高于v-for 注Vue 3.0 已经调整了v-if和v-for 的优先级故不存在渲染性能问题。 参考文档 https://www.nowcoder.com/discuss/513503986318696448https://baijiahao.baidu.com/s?id1766197354040903874wfrspiderforpc
http://wiki.neutronadmin.com/news/173953/

相关文章:

  • 本地做网站顺序网站去版权
  • 聊城手机网站服务如何做一个网页设计方案
  • 服务好的武进网站建设沈阳网站制作公司云蓝图
  • 网站制作小常识找个人制作网页的网站
  • 从哪些方面进行网站建设网线制作实验报告总结
  • 龙岩市城乡建设局网站进不去网站设计制作推荐
  • 淄博培训网站建设seo引擎优化是什么
  • 新乡手机网站建设策划公司宣传语
  • 自己做网站的软件注册深圳公司条件
  • 网站建设与管理是哪个软件wp用户前端化专业版wordpress插件[中英双语]
  • 网站的软文 怎么做推广05网伴你学
  • 企业先做网站还是先做淘宝广告位网站建设
  • 代做效果图的网站好山东个人网站备案
  • 找人做网赌网站需要多少钱网站管理后台登录地址
  • 做logo去哪个网站房产中介网站开发费用
  • 专业品牌网站建设价格哪个浏览器可以看禁止网站
  • 新思域设计公司网站建设建设厅证书查询网站
  • 网站空间模板电信 网站备案
  • 如何设计中文网站浙江省和住房建设厅网站
  • 网站集约化建设要求深圳建筑协会
  • 具体阐述对网站如何加强建设广州seo学徒
  • 河北建设协会官方网站wordpress wp posts
  • 做电台用啥什么网站大连零基础网站建设教学公司
  • 做网站需要多少钱呢创业小项目 个人创业电商
  • 企业网站托管注意事项指数函数公式
  • 金华永康义乌网站建设廊坊优化外包
  • 沈阳企业网站设计制作dw做网站的导航栏怎么做
  • 网站导航栏效果手机旅游网站建设
  • 网站设计北京新毕业设计做网站还是系统好
  • c .net 做网站广州番禺区男科医院