【问题标题】:twig date filter not working (angular issue?) [duplicate]树枝日期过滤器不起作用(角度问题?)[重复]
【发布时间】:2017-02-16 11:34:20
【问题描述】:

我正在将一个 DateTime 对象从 php 传递给 twig,并在我的 twig 上调用它时:

{% verbatim %} {{ user.updatedAt }} {% endverbatim %}

我在我的页面上得到了这个输出:

{"date":"2017-02-08 18:53:22.000000","timezone_type":3,"timezone":"Europe/Lisbon"}

当我尝试在此变量上应用过滤器 date("H:i") 时,它没有被应用,我在页面上得到了这个:

{{ user.updatedAt|date("H:i") }}

在这种情况下,我在控制台中也出现了以下angularjs错误,我认为是相关的:

Error: [$parse:syntax] Syntax Error: Token '(' is an unexpected token at column 24 of the expression [ user.updatedAt|date("H:i") ] starting at [("H:i") ].

谁能向我解释发生了什么事?我该如何解决这个问题?

提前致谢。 干杯

【问题讨论】:

  • 嗨,不考虑您传递的日期不是javascript日期的事实,您以错误的方式调用过滤器。看看这里docs.angularjs.org/api/ng/filter/date
  • 嗨 rick,我正在尝试调用 twig 日期过滤器,而不是 angularjs 过滤器。这些过滤器有冲突吗?我该怎么做?谢谢
  • 好吧抱歉,这是一个很常见的问题,看看这个stackoverflow.com/questions/13671701/…

标签: javascript php angularjs symfony twig


【解决方案1】:

如果您希望 Twig 解析您的行并处理日期过滤器,您必须删除“{% verbatim %}”标签。它们用于明确告诉 Twig 该块的内容是要解析的。

您当前的代码确实输出了 Angular 解析的数据,因为 Twig 不解析双花括号,因此您的角度解析异常。

【讨论】:

  • 非常感谢。老实说,我认为该变量正在由 twig 解析,但实际上它是由 angular 解析的。角度日期过滤器与树枝过滤器不同,因此会出现错误。
猜你喜欢
  • 2016-03-13
  • 2021-08-12
  • 2014-09-01
  • 2018-05-31
  • 2016-10-08
  • 1970-01-01
  • 2023-04-03
  • 2015-12-17
  • 2014-04-30
相关资源
最近更新 更多