电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作

瀏覽:26日期:2022-10-26 17:17:00

vue 中對v-for 遍歷數(shù)據(jù)的處理方式 可以分為兩類 :

一.對data 直接賦值(比較笨,但是比較直接)

<div id='app'> <ul> <li v-for='item in list'>{{item.n}}</li> </ul> </div> </body>

<script> var app=new Vue({ el:’#app’, data:{ list:[{n:11},{n:22},{n:33},{n:44},{n:55},{n:66}], } }) </script>

使用 app.list=[{n:44},{n:55},{n:66},{n:11},{n:22},{n:33}]直接賦值改變html頁面的顯示。

但是有時(shí)候這樣會改動原數(shù)據(jù),不太友善,很多時(shí)候我們只是想做個(gè)排序,數(shù)據(jù)篩選。

推薦使用第二種方法

方法二 : 使用computed 方法來過濾篩選數(shù)據(jù);也可以使用methods 方式來篩選過濾數(shù)據(jù)

代碼如下:

<body> <div id='app'> <ul> <li v-for='item in list'>{{item.n}}</li> </ul> <ul> <li v-for='item in listCmputed'>{{item.n}}</li> </ul> <ul> <li v-for='item in listMe(list)'>{{item.n}}</li> </ul> </div> </body>

<script> var app=new Vue({ el:’#app’, data:{ list:[{n:11},{n:22},{n:33},{n:44},{n:55},{n:66}], }, computed:{ listCmputed:function(){ return this.list.filter(function(item){ return item.n>=33 }) } }, methods:{ listMe:function(list){ return list.filter(function(item){ return item.n<=33 }) } } }) </script>

效果圖

vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作

可以看到 computed 和methods對data的處理并沒有影響到原數(shù)據(jù)。

但在實(shí)際應(yīng)用中,常常會對一組數(shù)據(jù)進(jìn)行 排序,篩選,過濾.....等一些列產(chǎn)品運(yùn)行 提的需求;所以會有一些各種形狀的按鈕需要點(diǎn)擊觸發(fā)事件,我覺得用在外面聲明一個(gè)變量放數(shù)據(jù),根據(jù)事件對 vue 中的數(shù)據(jù)重新賦值 ,反而邏輯更清晰更便于維護(hù)。

補(bǔ)充知識:v-for循環(huán)遍歷:vue-商品列表查詢數(shù)據(jù)分類顯示,json數(shù)據(jù)格式的解析

以餓了么來舉例吧,我們要顯示下圖畫線框里面的食物信息,數(shù)據(jù)是遍歷json數(shù)據(jù)出來的,

vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作

json數(shù)據(jù)在呢?結(jié)構(gòu)是醬紫的哭數(shù)組里面放了多個(gè)對象。對象里面放了數(shù)組的同時(shí)又放了若干對象,我們要實(shí)現(xiàn)上圖的效果(將套餐類,特色雞公煲套餐分類顯示),就要把foods這個(gè)數(shù)組里面的name,description,tips顯示出來尷尬

vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作

怎么做呢?

首先要用v-for得到goods.json里的每個(gè)對象,把它存到goods: [],數(shù)組中并返回。下面就是查詢數(shù)據(jù)的的代碼塊了

data() { return { goods: [], } }, created() { this.goodsList(); }, methods: { goodsList() { var tempList = []; var self = this; this.http.get(’static/goods.json’).then(function(response) { self.goods = response.data; console.log(self.goods) }).catch(function(error) { console.log(error); }) } } console.log(self.goods) 打印一下:有7條數(shù)據(jù)

vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作

然后,將這些數(shù)據(jù)通過htm標(biāo)簽拼接顯示出來就好了,棒棒噠~~

。。。。。。。。。

吃瓜的:額,不對吧,這就顯示了?有點(diǎn)太容易了吧。。。

吃瓜的:數(shù)據(jù)沒解析完全吧?

吃瓜的。。。。

我:額。。。我去HTML里面繼續(xù)解析。。

吃瓜的:吐血中。。。

接下來是我們切換下片場,來到HTML。。。

重頭戲1:遍歷goods數(shù)組,獲取對象(上面剛剛返回出來了goods)

<dl v-for='items in goods'> <!--遍歷goods數(shù)組-->

因?yàn)間oods里面裝的全是對象,所以就可以把“套餐類”和“特色雞公煲套餐”顯示粗來了:

<dt class='category_title'><strong >{{items.name}}</strong></dt>

重頭戲2:遍歷foods數(shù)組

<dd v-for='it in items.foods'>

這就可以將foods數(shù)組里面的對象和數(shù)組獲取到了,顯示食物名稱,描述,價(jià)格,月售

<!--顯示食物名稱--><p>{{it.name}}</p> <!--顯示食物評價(jià)--><p>{{it.description}}</p><!--顯示食物月售幾份--><p>{{it.tips}}</p><!--食物價(jià)格--><p>{{it.specfoods[0].price}}</p>

OK了

下面是全部的html代碼:

<div class='food_wrapper fl'><dl v-for='items in goods'> <!--遍歷goods數(shù)組--><dt class='category_title'><strong >{{items.name}}</strong></dt><!--得到對象里面的foods數(shù)組--><dd v-for='it in items.foods'> <!--顯示圖片--><span style='height: 71px;'><img :src='http://www.hdgsjgj.cn/bcjs/it.image_path' alt='' /></span><section class='fooddetails_info fl'><!--顯示食物名稱--><p>{{it.name}}</p> <!--顯示食物評價(jià)--><p>{{it.description}}</p><!--顯示食物月售幾份--><p>{{it.tips}}</p><!--食物價(jià)格--><p>{{it.specfoods[0].price}}</p> </section></dd></dl> </div>

以上這篇vue 數(shù)據(jù)遍歷篩選 過濾 排序的應(yīng)用操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 滑板场地施工_极限运动场地设计_滑板公园建造_盐城天人极限运动场地建设有限公司 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 慈溪麦田广告公司,提供慈溪广告设计。 | 商秀—企业短视频代运营_抖音企业号托管 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 |