vue.js代码优化:在dom中加一行v-if就可少写一个循环类方法

Lighter_Studio Lighter_Studio     2022-10-21     243

关键词:

 

【问题描述】

  把当前用户的购物车中(cartList),商品(good)选中字段checked = true的商品在订单页面中进行展示出来。

 

【一般做法】(两次循环)

  首先取出当前用户的购物车列表,循环里面的item,如果item=true,就把当前的商品加到orderList数组中,然后通过展示订单列表的DOM,通过v-if来对orderList数组进行展示出来。

这种作发明显使用了两个循环,一个循环是在方法里面循环,一个循环是在DOM中利用v-for进行循环。

 

<template>
    <li v-for="item in orderList">
        ......
    </li>
</template>
<script>
     //第一步:获取当前用户购物车方法 return cartList
     //第二步:遍历cartList,然后通过item = true 就把item存储到数组 orderList中
</script>

 

【代码优化】(一次循环)

  首先取出当前用户的购物车列表cartList数组,然后直接给DOM通过v-for来循环,再加一个条件,v-if=“item.checked===true”,满足就展示出来,代码如下:

<template>   
    <li v-for="item in cartList" v-if="item.checked === ‘1‘">
        ......
    </li>
</template>
<script>
    //第一步:获取当前用户购物车方法 return cartList
</script>

  看到了吗,这里只运用了一次循环就能把【一般做法】的效果做出来!

 

 

 

 

Vue v-if 使用间隔时不影响 Dom

】Vuev-if使用间隔时不影响Dom【英文标题】:Vuev-ifnotaffecttoDomwhenusinginterval【发布时间】:2019-12-0403:53:23【问题描述】:我正在尝试使用setInterval进行轮询并使用Vue有条件地渲染一些元素。但它不起作用,所以我将我的数据设置为t... 查看详情

v-if和v-for的优化(代码片段)

优先使用v-IfvIf 和 vShow 理论上都是作用于元素的显示隐藏,只是一个是直接对DOM,一个是通过CSS的 display 来操作的,在项目中大部分的时候我都是直接使用 vIf 直接代替使用 vShow ,只有当DOM频繁进行显示和... 查看详情

offsettop获取的值不正确

...,配合路由钩子做一些事情。简单来说就是在mounted钩子中加载数据而已,加载回来的数据是不会在这个阶段更新到DOM中的。所以在mounted钩子中使用$refs,如果ref是定位在有v-if、v-for、v-show的DOM节点中,返回来的只能是undefined,... 查看详情

vue.js条件与循环(代码片段)

来源:阿里云大学——开发者课堂——Vue.js自学手册 v-if条件判断使用v-if指令:v-if指令在元素和template中使用v-if指令:<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>Vue测试实例-阿里云大学( 查看详情

v-if 条件在 vue.js 文件中获取错误消息

...描述】:使用Laravel+Vue项目。我在mainapp.vue文件中有以下代码段<divclass="_1side_menu_list"><ulclass="_1side_menu_list_ul"><liv- 查看详情

如何利用vue.js库中的v-show显示和隐藏元素

...isplay,也就是会占用浏览器内存空间,另外一个类似的是v-ifv-if是真实的条件渲染,因为它会确保条件块在切换当中适当地销毁与重建条件块内的事件监听器和子组件。v-if也是惰性的:如果在初始渲染时条件为假,则什么也不做... 查看详情

vue.js学习笔记:在元素和template中使用v-if指令

f指令语法比较简单,直接上代码:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title></title><scriptsrc="https://cdn.bootc 查看详情

vue.js之v-if

---恢复内容开始---首先,在跟着api做的时候,要把v-if包裹在Vue对应的el里面,重要的事情说三遍。html:<divid="vif"><divv-if="Math.random()>0.1">Nowyouseeme</div><divv-else>Nowyoudon‘t</div></div>js:varap 查看详情

vue的组件,过滤器,自定义指令以及v-if

...60;   <h1v-show="false">我爱你</h1>v-if是直接将dom删除了,在dom文档中已经找不到对应的dom,变成了注释    <h1v-if="false">我爱你</h1>如果频繁使用就使用v-show可以节约性能开销... 查看详情

为啥在 vue.js 中使用 v-if 时我的 API 数据显示为未定义?

】为啥在vue.js中使用v-if时我的API数据显示为未定义?【英文标题】:WhydoesmyAPIdatashowupasundefinedwhenusingav-ifinvue.js?为什么在vue.js中使用v-if时我的API数据显示为未定义?【发布时间】:2021-06-1711:36:23【问题描述】:模板<template>&... 查看详情

如何在 Vue.js 应用程序中加载数据

...图将一些数据加载到视图中但没有成功。这是当前状态的代码:main.js//TheVuebuildversiontoloadwiththe`import`command//(runtime-onlyorstandalo 查看详情

vue.js的v-if判断数组多少个

直接上代码比如<liv-for="iincustom"></li>上面是循环一个数组然后生成li,但是我想实现如果index是0就给li加个class,大于0就不加class怎么做?比如<liv-for="iincustom"v-if="$index===0"class="hehe"></li>参考技术A有6个。v-if条件渲染指... 查看详情

Vue.js 表单提交立即用 v-if 显示

】Vue.js表单提交立即用v-if显示【英文标题】:Vue.jsFormsubmitsimmediatelyshownwithv-if【发布时间】:2020-01-0410:56:54【问题描述】:正在构建一个Wordpress插件并且正在使用VueJs。我设置了一个变量,该变量将在单击按钮时设置为true然后另... 查看详情

v-for 和 v-if 在 vue.js 中不能一起工作

】v-for和v-if在vue.js中不能一起工作【英文标题】:v-forandv-ifnotworkingtogetherinvue.js【发布时间】:2018-08-0216:03:18【问题描述】:一个表单用于提交文本和两个选项告诉vue在哪一列显示文本。当col2单选按钮被选中时,提交的文本应该... 查看详情

Vue js v-if在共享切换按钮上进行条件渲染

】Vuejsv-if在共享切换按钮上进行条件渲染【英文标题】:Vuejsv-ifcondicionalrenderingonasharedtogglebutton【发布时间】:2019-02-0720:55:36【问题描述】://PARENTCOMPONENT<template>....<divclass="input-wrapper">//Togglebuttoncontainer<labelclass= 查看详情

vue(代码片段)

Vue.js的核心思想包括两个方面:数据驱动和组件化 数据驱动:DOM是数据的一种自然映射,在vue.js中只需要操作数据,vue.js通过directives指令去对DOM做一层封装,当数据发生变化,会通知指令去修改对应的DOM,数据驱动DOM变化... 查看详情

在 Vue.js 中加载时未检查复选框

...已经选择了哪些工具,这些复选框应该被选中。这是我的代码<divv-for="(i 查看详情

vue.js的用户体验优化

...更多的经验和体验。随着项目进行和优化改版,无论是新代码的增加还是旧代码,在功能的实现和代码的书写上,Vue逐渐替代了Jquery,除了有些不容易替换和没有找到基于vue更合适的组件。Vue的使用,在我个人的感受中减轻了我... 查看详情