Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用内联javascript的情况下使用mixin进行计算_Javascript_Node.js_Express_Pug_Mixins - Fatal编程技术网

在不使用内联javascript的情况下使用mixin进行计算

在不使用内联javascript的情况下使用mixin进行计算,javascript,node.js,express,pug,mixins,Javascript,Node.js,Express,Pug,Mixins,因此,我使用mixin在我的web应用程序中显示一系列条目。我希望每一个都有一个相对的时间戳,上面写着它发布的时间 mixin listTitles(titles) each title in titles article.leaf article a.headline(href=title.URL)= title.title footer p.postData | Posted span#date=title.time

因此,我使用mixin在我的web应用程序中显示一系列条目。我希望每一个都有一个相对的时间戳,上面写着它发布的时间

mixin listTitles(titles)
  each title in titles
     article.leaf
      article
    a.headline(href=title.URL)= title.title
  footer
    p.postData 
     | Posted 
     span#date=title.time
     a(href='someSource') The New York Times <br>
    a.commentButton(href=title.URL)
    a.sourceButton(href='#')
mixin listTitles(titles)
mixin列表标题(标题)
标题中的每个标题
第1条叶
文章
a、 标题(href=title.URL)=title.title
页脚
p、 postData
|张贴
span#日期=title.time
(href='someSource')《纽约时报》
a、 commentButton(href=title.URL) a、 sourceButton(href='#') 混合列表标题(标题)

title.time包含以javascript时间表示的提交时间(以毫秒表示的unix时间)。我想将其与当前时间进行比较,并显示自帖子提交以来的时间

您可以在Jade模板中的任何位置使用JS,方法是将
-
放在行首

mixin listTitles(titles)
  - var now = Date.now();
  each title in titles
    p Posted #{now - title.time} millis ago.

我假设“无javascript”是指该逻辑应该在模板本身中实现,而不是在调用
render()

的js文件中实现。我的意思是,我希望该逻辑在script.js中,而不是在模板中。您知道按照您建议的方式进行操作是否存在性能缺陷吗?因为我要让它将时间转换为分钟、小时和天,并将其连接起来。@user1816679当然你可以:计算它,然后以传递
标题的方式传递到
渲染
函数。(请参阅和在Express中)Jade编译为JS函数,因此我认为不会有重大改进。你还需要它吗?这是关于代码的结构。对Jade选项使用
self:false
compiledBug:false
缓存模板是更好的性能投资(请参见谷歌的相关内容)。矩.js有一些方便的方法,例如
矩(“20130218”,“yyyyymmdd”)。fromNow()