发表于: 2017-01-21 03:46:56
2 1353
今天完成的事情:
萝卜多后台:
用bootstrap完成基本静态布局;
获取公司列表信息:
强化模块化思想,将请求接口、需要过滤格式化的数据归为constant;封装对象,简化注入;
公司信息、职业信息获取,按照请求类型写入service,根据需求调用接口;
复用前台过滤器,添加后台状态过滤;
完成公司列表分页;
公司列表筛选条件:
下拉菜单;
地区二级联动(市、区);
小课堂分享:ANGULAR中$FILTER的使用方法
ng内置了一些过滤器, 它们是:currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、 uppercase(大写)、number(数字)、orderBy(排序)。总共九种。除此之外还可以自定义过滤器,可以根据自己的需求自定义数据处的方法。
Filter的基本原型( '|' 是语法规则):{{ expression | filter }}
Filter可以被链式使用(即连续使用多个filter):{{ expression | filter1 | filter2 | ... }}
Filter也可以指定多个参数:{{ expression | filter:argument1:argument2:... }}
controller中使用自定义过滤器,可以注入过滤器实例or注入$filter服务;
明天计划的事情:
完成列公司列表;
遇到的问题:
做前台页面的时候偷懒,把每个条件都定义了一个常量而没有整合在一起,使用的的时候需要把每一个都注入进去,既不美观,使用也不方便;
到做后台的时候意识到这个问题,把同一个页面的条件整合为一个对象,调用时只许注入这个对象,通过属性值访问这些条件,代码量少,逻辑也更清晰;
做地区二级联动时,原来计划在html页面中直接使用自带的过滤器根据一级选择的CityID:vm.city作为匹配条件,直接匹配出二级地区列表,但这么写有问题,故只能自定义过滤器在controller里完成过滤匹配,
<select class="form-control" ng-model="vm.city" ng-options=" City.CityID as City.CityName for City in vm.CityList" ng-change=vm.test()></select>
-<select class="form-control" ng-model="vm.county" ng-options=" County.ID as County.countyName for County in {{vm.CountyList|filter:{CityID:vm.city}}}"></select>
,故只能自定义过滤器在controller里完成过滤,
vm.siteChange=function () {
vm.CountyList =$filter('Linkage')(vm.city);
vm.county=''
}
二级默认选项问题:constant数据里没有不限这个选项,只能在加载controller的时候设置一个对象:
vm.CountyList = [{"ID":'', "countyName": "不限"}]
一级出发change事件后由过滤器返回值重置vm.CountyList;
收获:
如上
评论