gpt4 book ai didi

javascript - 将 Moment.js 与 Twig 结合使用

转载 作者:行者123 更新时间:2023-11-30 05:54:51 24 4
gpt4 key购买 nike

我正在使用 Moment.js用 Twig 计算时间,

代码( Twig ) -
我在 post_date_gmt 变量中有日期,我正在使用它,

<div class="time">
<time datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}">moment.unix({{ post_date_gmt }}).local().fromNow()</time>
</div>

这给我输出:

<div class="time">
moment.unix(1331845445).local().fromNow()
</div>

当我尝试在控制台中运行上面的字符串时,它工作正常 - '一个月前'。
我不明白为什么 twig 没有给我正确的输出?
难道我做错了什么?。感谢您的宝贵时间。

最佳答案

moment 是一个 javascript 函数,您正试图从 HTML block 而不是 javascript block 调用它。有几种方法可以做到这一点,但一个简单的破解方法是:

<div class="time">
<time datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}">
<script type="text/javascript">document.write(moment.unix({{ post_date_gmt }}).local().fromNow());</script></time>
</div>

不过我不建议像那样使用 document.write。最好将其作为一个单独的 javascript block 来执行,就像这样(以 jquery 为例):

<div class="time">
<time id="time" datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}"></time>
</div>

--- snip ---

<script type="text/javascript">
$(function(){
$('#time').val( moment.unix({{ post_date_gmt }}).local().fromNow() );
});
</script>

关于javascript - 将 Moment.js 与 Twig 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12560746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com