AngularJS过滤器模板绑定语法 - 不像docs?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS过滤器模板绑定语法 - 不像docs?相关的知识,希望对你有一定的参考价值。

因此,当浏览angularJS文档时,我注意到各种过滤器模板是这样的:

{{date_expression |日期:日期:格式}}

date:date是什么意思?

如果我运行以下代码:(JS Fiddle 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 |日期格式}}

答案

你似乎是对的。文档是错误的,正确的语法实际上是{{date_expression|date:format}

关于这个错误的一些背景:Angular中的过滤器被实现为基本功能,所以你可以把它想象成像function date(date, format)。但是,当用作过滤器时,第一个参数实际上是管道之前的值。 (在这种情况下,data_expression

你应该submit a pull request to improve this doc。否则我会,我会认为找到问题:)

以上是关于AngularJS过滤器模板绑定语法 - 不像docs?的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS数据双向绑定

angularjs模板终常用的指令的使用方法

走进AngularJs ng模板中常用指令的使用方式

AngularJS 讲解,三 过滤器

跨模板和视图路由的基本元素绑定,Angular JS

前端MVC学习总结——AngularJS验证过滤器