angularJS 可以在{{}}内放 function 吗?

2016-09-17 14:29:48 +08:00
 cstome

最近刚接触 AngularJS ,用到 ng-repeat ,但是 json 中有个数据是 timestamp ,需要解析成可以看的时间,这个要怎么处理啊?

1874 次点击
所在节点    问与答
6 条回复
Exin
2016-09-17 14:48:17 +08:00
了解下 angular 的 filter
stiekel
2016-09-17 15:32:04 +08:00
使用 Angular 本身提供的 date filter 来解决 https://docs.angularjs.org/api/ng/filter/date
cstome
2016-09-17 15:51:42 +08:00
@stiekel 还有个问题,加入我想用自己的 function 来解析 timestamp ,

<div class="time">{{x.t | praseTime}}</div>
app.filter('praseTime', function (x.t){return praseTS(x.t)});

这样写为什么不行?
filter 要写在 controller 前面还是后面还是里面?
bdbai
2016-09-17 17:13:49 +08:00
@cstome 没用过 Angular 的人建议你把 function 里的 x.t 全改成 t 试试。
stiekel
2016-09-17 18:50:46 +08:00
@cstome 如果你只是要显示时间,最好用 Angular 原生的 date filter 。

filter 写在控制器外面,前面或者后面均可,因为它会先于控制器加载。

你的过滤器写错了。而且,参数传递,不要使用 x.t 这种。
cstome
2016-09-17 23:18:15 +08:00
@stiekel
我发现 ng-repeat=" x in xxx"的时候, x 是 object , t 是 x 的一个属性,在写 filter 的时候传递 x 就是{{x.t}}里面的值,也就是说不是传递 x.t ,而是 x 。。

我之前想错了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/306747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX