因此,在浏览angularJS文档时,我注意到各种过滤器模板都是这样的:
{{date_expression |日期:日期:格式}}
date:date是什么意思?
如果我运行以下代码: (JS小提琴http://jsfiddle.net/6Jt4h/2/)
HTML:
<div ng-app="testApp" ng-controller="testCon">
{{dt1 | date : 'MM/dd/yyyy @ h:mma'}}<br>
{{dt1 | date : dt1 : 'MM/dd/yyyy @ h:mma'}}
</div>
使用Javascript:
var testApp = angular.module('testApp', []);
testApp.controller('testCon', function($scope) {
$scope.dt1 = new Date();
});
我得到以下输出:
03/20/2014 @ 3:19PM
T3u 3PMr 20 2014 15:19:46 G3T-0500 (CentrPMl DPM2014lig3t Ti19e)
为什么第二行无法正常工作,即使它看起来是遵循语法的属性?
我是否理解正确的语法是:
{{date_expression |日期:格式}}
答案 0 :(得分:0)
你似乎是对的。文档是错误的,正确的语法实际上是{{date_expression|date:format}
。
有关此错误的一些背景信息:Angular中的过滤器是作为基本函数实现的,因此您可以将其想象为类似function date(date, format)
的内容。但是,当用作过滤器时, first 参数实际上是管道之前的值。 (在这种情况下,data_expression
)
你应该submit a pull request to improve this doc。否则,我会和我一起找到问题:)