摘要:實現(xiàn)方案首先對原始數(shù)據(jù)進(jìn)行處理在我這里是把相同的,合并成一條數(shù)據(jù)重新處理以后的數(shù)據(jù)如下重新構(gòu)造的方法如下,數(shù)組便是處理的結(jié)果只需要把賦值給變量便可在頁面上使用現(xiàn)在看這里,如果仍然在上進(jìn)行得不到預(yù)期效果。
描述
使用angularJs做出表格合并的效果
后端返回的數(shù)據(jù)
[ {"fileName":"111.pcap.00","startTime":"2018-06-05 10:16:04","taskName":"111","taskId":58,"fileId":72}, {"fileName":"111.pcap.01","startTime":"2018-06-05 10:16:55","taskName":"111","taskId":58,"fileId":73}, {"fileName":"aaa.pcap.00","startTime":"2018-06-05 10:10:28","taskName":"aaa","taskId":57,"fileId":71}, {"fileName":"www.pcap.00","startTime":"2018-06-05 10:50:28","taskName":"www","taskId":59,"fileId":79} ]背景:
為了能更直觀的查看表格中相同的taskName所包含的數(shù)據(jù),合并列名為taskName且值相等的行,期望效果如下圖:
分析:首先看后端返回的數(shù)據(jù),是個一維數(shù)組,直接使用ng-repeat遍歷行(tr)得到的是一個不帶合并效果的表格,如圖:
怎么解決呢?想到的一種方案就是把taskName相同的數(shù)據(jù)合并成一條,再進(jìn)行遍歷。
實現(xiàn)方案首先對原始數(shù)據(jù)進(jìn)行處理,在我這里是把taskName相同的,合并成一條數(shù)據(jù),重新處理以后的數(shù)據(jù)如下:
[ {"taskName":"111","fileList":[{"fileName":"111.pcap.00","startTime":"2018-06-05 10:16:04","taskName":"111","taskId":58,"fileId":72},{"fileName":"111.pcap.01","startTime":"2018-06-05 10:16:55","taskName":"111","taskId":58,"fileId":73}]}, {"taskName":"aaa","fileList":[{"fileName":"aaa.pcap.00","startTime":"2018-06-05 10:10:28","taskName":"aaa","taskId":57,"fileId":71}]}, {"taskName":"www","fileList":[{"fileName":"www.pcap.00","startTime":"2018-06-05 10:50:28","taskName":"www","taskId":59,"fileId":79}]} ]
重新構(gòu)造的方法如下,數(shù)組list便是處理的結(jié)果,只需要把list賦值給$scope變量便可在頁面上使用
var list = []; angular.forEach(sourceData,function (item) { for(var i=0;i現(xiàn)在看html這里,如果仍然在
上進(jìn)行ng-repeat,得不到預(yù)期效果。需要在上一層也就是 上遍歷,因為每條數(shù)據(jù)都包含字段taskName,在做合并時只需要保留一個,使用ng-if="$index==0"控制。總結(jié){{file.taskName}} {{item.fileName}} {{item.startTime}} 下載 刪除 在寫重新構(gòu)造原數(shù)組的方法時遇到問題,寫的比較復(fù)雜,后來經(jīng)過同事的點播,使用了現(xiàn)在比較簡潔的方式。
另外,實現(xiàn)的方式不只一種,我也試了其他的,都沒有這個簡單。文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/107989.html
相關(guān)文章
你的第一個AngularJS應(yīng)用
摘要:從最重要的頁面開始吧錦標(biāo)賽的表格。重啟你的應(yīng)用,看看搜索框。然后我們加入兩個路由一個轉(zhuǎn)向錦標(biāo)賽表格,另一個轉(zhuǎn)向車手詳情。你所需要做的只是創(chuàng)建一個名為的文件,然后將錦標(biāo)賽表格放在那里。結(jié)論我們已經(jīng)介紹了開發(fā)一個簡單應(yīng)用所需的一切。 AngularJS是Google開源出來的一款 Javascript MVC 框架。利用AngularJS,你可以構(gòu)建結(jié)構(gòu)清晰、便于測試和維護(hù)的前端應(yīng)用。 ...
angular性能優(yōu)化心得
摘要:本文針對的讀者具備性能優(yōu)化的相關(guān)知識雅虎條性能優(yōu)化原則高性能網(wǎng)站建設(shè)指南等擁有實戰(zhàn)經(jīng)驗。這種機(jī)制能減少瀏覽器次數(shù),從而提高性能。僅會檢查該和它的子,當(dāng)你確定當(dāng)前操作僅影響它們時,用可以稍微提升性能。 搬運自: http://atian25.github.io/2014/05/09/angular-performace/ 不知不覺,在項目中用angular已經(jīng)半年多了,踩了很多坑...
AngularJS scope 學(xué)習(xí)
摘要:訪問對象中從父類繼承的對象時都會去訪問原型鏈。因為此處中混合用了,也會產(chǎn)生自己的,因此有和。在和兩種情況下會分別產(chǎn)生,是兩個不同的,號不同。 本文主要是學(xué)習(xí)別人的文章和回答之后的總結(jié),此處給出鏈接深入學(xué)習(xí)AngularJS Scope JavaScript原型繼承簡介 AngularJs中是雙向數(shù)據(jù)綁定,但并不是每次修改都會產(chǎn)生相應(yīng)的效果,有些時候傳基礎(chǔ)類型的值就有可能存在這種情...
AngularJS簡述
流行框架 簡介 angularjs是一款非常優(yōu)秀的前端高級JS框架,由谷歌團(tuán)隊開發(fā)維護(hù),能夠快速構(gòu)建單頁web應(yīng)用,化繁為簡 無論是angularjs還是jQuery都是用原生JS封裝的 庫:對代碼進(jìn)行封裝,調(diào)用封裝的方法,簡化操作 傳統(tǒng)方式是用get方式獲取元素,然后點方法 jQuery庫實現(xiàn)了對獲取方式的封裝,對方法的封裝 框架:提供代碼書寫規(guī)則,按照規(guī)則去寫代碼,框架會幫我們實現(xiàn)響應(yīng)的功能...
angularjs初識
摘要:總的來說,收獲很大。這里這里就以一些常用的標(biāo)簽談?wù)勚械幕A(chǔ)知識。然后還有一個表示記錄的索引號,從開始。已經(jīng)用這個數(shù)組的值替他們分好了組了,是不是感覺很強(qiáng)大,還有很多強(qiáng)大的地方等著我們?nèi)W(xué)習(xí),掌握它,還有更強(qiáng)大的等著我們。 周三的時候跟著老師簡單的入門了angularjs,然后去圖書館找了一本《Angularjs實戰(zhàn)》來看了看,雖然這本書網(wǎng)上的評價不太高,但對于初學(xué)者的我來說還是不錯的,...
發(fā)表評論
0條評論
Lin_R
男|高級講師
TA的文章
閱讀更多
tensorflow標(biāo)準(zhǔn)化
閱讀 2665·2023-04-26 02:44
極客業(yè)務(wù)架構(gòu)實戰(zhàn)營李運華
閱讀 8491·2021-11-22 14:44
[C/C++]C++的IO流
閱讀 2123·2021-09-27 13:36
舍利云:linode月拋機(jī)上線,新加坡機(jī)房2核4G內(nèi)存80G ssd,100元/臺,附簡單測評
閱讀 2487·2021-09-08 10:43
display有哪些值 與 position的值relative和absolute定位的原點是?
閱讀 680·2019-08-30 15:56
實現(xiàn)marquee滾動效果
閱讀 1396·2019-08-30 15:55
用“五個為什么”寫CSS
閱讀 2890·2019-08-28 18:12
React Hook 不完全指南
閱讀 2832·2019-08-26 13:50
閱讀需要支付1元查看