关闭

angularjs过滤器filter处理时间格式

标签: angularjs
1562人阅读 评论(0) 收藏 举报
分类:

这些日子用angularjs做项目,真是感觉发现了一个神器。。。但是同时一连串的问题也根着来了,双向绑定,数据传递,路由跳转。。。。然后一些古怪的广播$broadcast,$emit,$on.....,然后又是服务factory,,,,然后。。。然后又是filter。。。今天就说说这个filter。


angularjs自定义了许多过滤器,而且使用非常方便,比如时间过滤器date,{{dateFromController | date : 'yyyy-MM-dd'}},需要的格式就来了,但是问题也来了,这是

在页面上显示的,但是在input输入框里面要是用ng-model绑定一个时间,而这个时间从后台返回到前台时候是以毫秒计的,这时候咋办?


为了不麻烦后台,我是上网找了一遍又一遍,就没几个介绍在controller里面使用过滤器过滤时间的,后来看到一个用$filter('date')(new Date())过滤的,是能过滤,

但是默认过滤成英文标准格式的了,再后来试了几个地方放入‘yyyy-MM-dd’,但是当把它放入后面时,出效果了,时间被顺利格式化。

$scope.date = $filter('date‘)(new Date(),'yyyy-MM-dd');这时候过滤的时间就和input的ng-model绑定了,而且格式也可以自定义了。

后来有个页面有n个下拉列表,都是从数据字典里面返回的,而且还无序,所以点击下拉,里面顺序全乱的,这时候我又想到了过滤器,于是再用了下:

$scope.date = $filter('orderBr')(dicts,itemKey),dicts是数据字典返回的数组,itemKey是1,2,3,4,5,之类的值,这样就可以以12345排序了,对应的name就按顺

序正常显示了。


才接触angularjs不久,觉得这个东西真的不错。就是学起来没有jQuery简单,但要是会用,那是不知道比jQuery方便多少倍了。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4620次
    • 积分:37
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类