摘要:層過(guò)濾原來(lái)是先在層分頁(yè),然后在層進(jìn)行過(guò)濾,為了避免分頁(yè)引起的數(shù)據(jù)過(guò)濾錯(cuò)誤,所以決定將過(guò)濾器放到層使用,先過(guò)濾,后分頁(yè)。畢竟中的字符串還是可以讓他人去直接粘貼然后直接查詢到這個(gè)過(guò)濾器。
小數(shù)據(jù)量查詢思路
考評(píng)員綜合查詢,查詢條件有:區(qū)域、所在單位、從事專業(yè)、資格證名稱、有效期至。
如果我們的所有數(shù)據(jù)查詢都放在后臺(tái)的話。依據(jù)拼接的查詢條件,選擇區(qū)域、所在單位、從事專業(yè)查詢的是人員表,而選擇資格證名稱、有效期至查詢的是人員資質(zhì)表。
查詢都放到后臺(tái),這種以我們固有的思路去設(shè)計(jì)是可以實(shí)現(xiàn)的。
那就寫兩個(gè)接口,一個(gè)根據(jù)區(qū)域、所在單位、從事專業(yè)查詢?nèi)藛T表,一個(gè)根據(jù)資格證名稱、有效期至、區(qū)域、所在單位、從事專業(yè)查詢?nèi)藛T資質(zhì)表。不過(guò)是拼接謂語(yǔ)時(shí)多join幾下罷了。
然后前臺(tái)監(jiān)聽用戶選中的查詢條件,根據(jù)不同的查詢條件去請(qǐng)求相應(yīng)的接口。
雖然這樣可以實(shí)現(xiàn),但是此處的考評(píng)員的數(shù)量不會(huì)很多,我們大可以根據(jù)區(qū)域、所在單位、從事專業(yè)查詢?nèi)藛T,OneToMany直接將相應(yīng)的人員資質(zhì)帶出來(lái),然后再根據(jù)用戶選中的資格證名稱和有效期至作為條件對(duì)人員資質(zhì)進(jìn)行過(guò)濾,在前臺(tái)過(guò)濾出用戶想要的數(shù)據(jù)。
過(guò)濾器思路過(guò)濾器,本質(zhì)就是一個(gè)方法,輸入什么,然后輸出什么。
符合此處需求傳入的參數(shù)應(yīng)該為人員,資格證名稱,有效期至,然后輸出為處理過(guò)的人員。
過(guò)濾人員的人員資質(zhì),可能對(duì)于不熟悉本項(xiàng)目的人不容易理解,所以這里以人和電腦為例,一個(gè)人,可以有多個(gè)電腦,需求是將這個(gè)人的不符合過(guò)濾條件的電腦從數(shù)組中移除。
webApp.filter("yunzhiComputer", function() { return function(users, computerName) { angular.forEach(users, function(user) { angular.forEach(user.computers, function(computer, index) { if (computer.name !== computerName) { // 如果不符合條件,將該項(xiàng)從數(shù)組中移除 user.computers.splice(index, 1); } }); }); return users; }; });
ng-repeat="user in users | yunzhiComputer: "Mac""V層過(guò)濾的問(wèn)題
因?yàn)榇颂幍目荚u(píng)員查詢需要進(jìn)行分頁(yè),因?yàn)閿?shù)據(jù)量較少,所以計(jì)劃在前臺(tái)分頁(yè)。
分頁(yè)之后,那循環(huán)中的users就是我們分頁(yè)完的人。
假如一共有兩頁(yè)數(shù)據(jù),每頁(yè)十條,第一頁(yè)有一條符合的,第二頁(yè)有三條符合的,如果使用者在第一頁(yè)進(jìn)行過(guò)濾,那最后顯示出來(lái)的就是一條數(shù)據(jù),顯示不出第二頁(yè)符合條件的數(shù)據(jù)。
C層過(guò)濾原來(lái)是先在C層分頁(yè),然后在V層進(jìn)行過(guò)濾,為了避免分頁(yè)引起的數(shù)據(jù)過(guò)濾錯(cuò)誤,所以決定將過(guò)濾器放到C層使用,先過(guò)濾,后分頁(yè)。
Filter - AngularJS
angular.module("FilterInControllerModule", []). controller("FilterController", ["filterFilter", function FilterController(filterFilter) { this.array = [ {name: "Tobias"}, {name: "Jeff"}, {name: "Brian"}, {name: "Igor"}, {name: "James"}, {name: "Brad"} ]; this.filteredArray = filterFilter(this.array, "a"); }]);
第一種是AngularJS官方給出的寫法,直接過(guò)濾器名加上Filter可以直接依賴注入過(guò)濾器,例如我們這里的過(guò)濾器叫做yunzhiComputer,我們可以直接依賴注入yunzhiComputerFilter。
How to use a filter in a controller - StackOverflow
function myCtrl($scope, $filter) { $filter("filtername")(arg1,arg2); }
這是StackOverflow上給出的寫法,我比較喜歡這種寫法,畢竟我們寫過(guò)濾器,為了防止和已有的庫(kù)沖突,所以我們要將過(guò)濾器加上前綴yunzhi,然后還要在命名上大致描述這個(gè)過(guò)濾器的功能,這就使得過(guò)濾器的名稱很長(zhǎng),再加上Filter,那就更長(zhǎng)了,完全沒(méi)必要。畢竟$filter中的字符串還是可以讓他人去直接粘貼然后Ctrl + P直接查詢到這個(gè)過(guò)濾器。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/107908.html
摘要:開始使用現(xiàn)在創(chuàng)建一個(gè)名為的文件,它將會(huì)是一個(gè)基于的網(wǎng)上書店應(yīng)用。這將初始化應(yīng)用程序,并告訴要在這一部分活躍。將為每個(gè)元素增加元素??刂破骱鸵晥D之間的粘合劑,而且會(huì)注入到?,F(xiàn)在我們添加書籍?dāng)?shù)組的對(duì)象到對(duì)象,這個(gè)對(duì)象對(duì)視圖是可見的。 編者注:我們發(fā)現(xiàn)了比較有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,準(zhǔn)備翻譯,一天一篇更新,年終禮包。以下是第二天技術(shù)的譯文。 昨晚我完爆了一天一技術(shù)的任務(wù)...
流行框架 簡(jiǎn)介 angularjs是一款非常優(yōu)秀的前端高級(jí)JS框架,由谷歌團(tuán)隊(duì)開發(fā)維護(hù),能夠快速構(gòu)建單頁(yè)web應(yīng)用,化繁為簡(jiǎn) 無(wú)論是angularjs還是jQuery都是用原生JS封裝的 庫(kù):對(duì)代碼進(jìn)行封裝,調(diào)用封裝的方法,簡(jiǎn)化操作 傳統(tǒng)方式是用get方式獲取元素,然后點(diǎn)方法 jQuery庫(kù)實(shí)現(xiàn)了對(duì)獲取方式的封裝,對(duì)方法的封裝 框架:提供代碼書寫規(guī)則,按照規(guī)則去寫代碼,框架會(huì)幫我們實(shí)現(xiàn)響應(yīng)的功能...
摘要:為指令賦值函數(shù)名,即可運(yùn)行。它也是一個(gè)對(duì)象,指向應(yīng)用程序作用域內(nèi)的所有元素和執(zhí)行上下文。簡(jiǎn)而言之,是與指令元素相關(guān)聯(lián)的當(dāng)前作用域,可以理解為視圖和控制器間的一個(gè)通道。它們被組織為模塊形式,之后可以被另一個(gè)引用。 Angularjs Angular是一款主旋律的MVVM框架,框架和傳統(tǒng)的庫(kù)不同: 類庫(kù)是一些函數(shù)的集合,它能幫助你寫WEB應(yīng)用。起主導(dǎo)作用的是你的代碼,由你來(lái)決定何時(shí)使用類...
摘要:從最重要的頁(yè)面開始吧錦標(biāo)賽的表格。重啟你的應(yīng)用,看看搜索框。然后我們加入兩個(gè)路由一個(gè)轉(zhuǎn)向錦標(biāo)賽表格,另一個(gè)轉(zhuǎn)向車手詳情。你所需要做的只是創(chuàng)建一個(gè)名為的文件,然后將錦標(biāo)賽表格放在那里。結(jié)論我們已經(jīng)介紹了開發(fā)一個(gè)簡(jiǎn)單應(yīng)用所需的一切。 AngularJS是Google開源出來(lái)的一款 Javascript MVC 框架。利用AngularJS,你可以構(gòu)建結(jié)構(gòu)清晰、便于測(cè)試和維護(hù)的前端應(yīng)用。 ...
閱讀 3811·2021-10-13 09:40
閱讀 3260·2021-10-09 09:53
閱讀 3638·2021-09-26 09:46
閱讀 1924·2021-09-08 09:36
閱讀 4349·2021-09-02 09:46
閱讀 1370·2019-08-30 15:54
閱讀 3245·2019-08-30 15:44
閱讀 1089·2019-08-30 11:06