如何在哈巴狗中使用setInterval?

问题描述 投票:0回答:1

我想用哈巴狗和nodejs制作一个时钟

node

let clock
function getClock() {
  ~
  clock = `${hours}:${minutes}:${seconds}`;
}

app.get("/main", (req, res) => {
    ~
    res.render("mainP.pug", { lists: rows, getClock: getClock(), clock:clock });
  });
});

pug

    script 
        - setInterval(getClock(), 1000);
    body 
        .header 
            .clock#clock= clock

错误是 getClock 不起作用,我该如何解决它?

javascript node.js pug
1个回答
0
投票

您无法序列化 Node.js 程序中定义的函数并将其发送到浏览器。

相反,在 HTML 文档中生成一个

<script>
元素,其中包含 (a) 函数的源代码作为其中的文本节点,或者 (b) 指向可以下载脚本的 URL 的
src
属性.

您还需要将生成

hours
minutes
seconds
值的逻辑移至该脚本中,或使用其他页面加载/Ajax/WebSockets 从服务器获取它们的值。

© www.soinside.com 2019 - 2024. All rights reserved.