国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

angularjs自定義過濾器demo示例

2019-11-19 10:58:44
字體:
供稿:網(wǎng)友

本文實例講述了angularjs自定義過濾器demo。分享給大家供大家參考,具體如下:

這個基于angularjs的過濾器是最近做的"信息管理學院實驗室預約"項目中的一個小功能。

以下為數(shù)據(jù):

$scope['classes']=[{id:1,name:"H503",capacity:40,software:"photoshop,金蝶,AI",freeTime:"周一1-2-3,周五1-2-3,周一5-6,"},   {id:2,name:"H504",capacity:50,software:"chrome,金蝶,office,"   ,freeTime:"周二1-2-3,周三3-4,周一5-6,"},   {id:3,name:"H505",capacity:60,software:"chrome,LOL,office,"   ,freeTime:"周二1-2-3,周三3-4,周四7-8,"}];

具體功能:

分別在兩個select選擇星期和課次,列表會即時根據(jù)條件更新。

完整代碼:

<!DOCTYPE html><html ng-app="myApp" ><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><div ng-controller="myCtrl"> <select ng-model="day">  <option selected="">周一</option>  <option>周二</option>  <option>周三</option>  <option>周四</option>  <option>周五</option> </select>  <select ng-model="order">  <option selected="">1-2</option>  <option>1-2-3</option>  <option>3-4</option>  <option>1-2-3-4</option>  <option>5-6</option>  <option>7-8</option>  </select>  <ul>   <li ng-repeat="class in classes | myFiter:day:order">     <span>{{class.id}}</span>     <span>{{class.name}}</span>      <span>{{class.capacity}}</span>      <span>{{class.software}}</span>   </li>  </ul> </select></div><script type="text/javascript">var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { //假數(shù)據(jù)  $scope['classes']=[{id:1,name:"H503",capacity:40,software:"photoshop,金蝶,AI",freeTime:"周一1-2-3,周五1-2-3,周一5-6,"},   {id:2,name:"H504",capacity:50,software:"chrome,金蝶,office,"   ,freeTime:"周二1-2-3,周三3-4,周一5-6,"},   {id:3,name:"H505",capacity:60,software:"chrome,LOL,office,"   ,freeTime:"周二1-2-3,周三3-4,周四7-8,"}  ];  //select的默認值  $scope.order="1-2";  $scope.day="周一";});//自定義過濾器app.filter('myFiter',function(){ return function(input,day,order) {   var time=day+order;   var output=[];   for(var i=0;i<input.length;i++)   {   var n=input[i].freeTime.indexOf(time);   // console.log(n);   // console.log(input[i].freeTime.charAt(n+time.length));    if(n!=-1)//如果能找到    {     if(input[i].freeTime.charAt(n+time.length)==',')     //這樣做是為了防止1-2與1-2-3是一樣的結(jié)果      output.push(input[i]);    }   }   return output; }})</script></body></html>

運行效果:

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

總結(jié):filter可以理解為一個帶參數(shù)的函數(shù),它把一個對象進行一些處理,然后把處理后的對象返回。不過我認為以上的這個算法有待優(yōu)化。

更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結(jié)》、《AngularJS入門與進階教程》及《AngularJS MVC架構(gòu)總結(jié)

希望本文所述對大家AngularJS程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北京市| 四平市| 福海县| 北京市| 普兰县| 荔浦县| 宁津县| 惠安县| 辽宁省| 育儿| 密云县| 锦州市| 鄂尔多斯市| 揭西县| 南漳县| 凌云县| 徐闻县| 汶上县| 安溪县| 阿合奇县| 台南市| 南澳县| 通河县| 南投县| 渑池县| 花莲县| 玉林市| 清新县| 赫章县| 大埔区| 富裕县| 涿鹿县| 津南区| 平昌县| 宜良县| 桃江县| 孝义市| 安陆市| 安陆市| 扶绥县| 德令哈市|