2017-02-16 138 views
2

我传递一个DateTime对象从PHP到小枝,并在我的树枝调用它时:树枝日期过滤器不工作(角度问题?)

{% 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") ]. 

任何人都可以向我解释这是怎么回事?我怎样才能解决这个问题?

在此先感谢。 Cheers

+0

嗨,没有考虑到你传递的日期不是一个JavaScript日期,你以错误的方式调用过滤器。看看这里https://docs.angularjs.org/api/ng/filter/date – rick

+0

嗨里克,我试图调用树枝日期过滤器,而不是angularjs之一。与这些过滤器有冲突吗?我应该怎么做?谢谢 – andregoncalves

+1

好的,对不起,它接触了一个很常见的问题,看看这个http://stackoverflow.com/questions/13671701/angularjs-twig-conflict-with-double-curly-braces – rick

回答

1

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

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

+0

非常感谢。我真的认为那个变量是被树枝解析的,但实际上它是由角度分析的。角度日期过滤器与树枝不同,因此是错误。 – andregoncalves