【问题标题】:AngularJS Filter Template Binding Syntax - Not like docs?AngularJS 过滤器模板绑定语法 - 不像文档?
【发布时间】:2014-03-20 20:27:15
【问题描述】:

所以在浏览 angularJS 文档时,我注意到各种过滤器模板是这样的:

{{ 日期表达式 |日期:日期:格式}}

日期:日期是什么意思?

如果我运行以下代码: (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)

为什么第二行不能正常工作,即使它似乎是遵循语法的属性?

我是否理解正确的语法是:

{{ 日期表达式 |日期:格式}}

【问题讨论】:

    标签: javascript angularjs syntax angularjs-filter


    【解决方案1】:

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

    关于这个错误的一些背景知识:Angular 中的过滤器是作为基本函数实现的,所以你可以把它想象成类似function date(date, format) 的东西。但是,当用作过滤器时,first 参数实际上是 before 管道的值。 (在这种情况下,data_expression

    你应该submit a pull request to improve this doc。否则我会的,我会发现问题的功劳:)

    【讨论】:

    • 我四处寻找创建拉取请求,但我没有看到生成“使用”模板的位置。我认为这只是“使用”部分自动生成方式的一个错误,而不是文档本身。
    猜你喜欢
    • 2015-11-08
    • 2013-05-07
    • 1970-01-01
    • 2015-04-08
    • 2016-04-16
    • 2014-02-13
    • 2015-08-20
    • 2018-07-28
    • 2019-01-01
    相关资源
    最近更新 更多