gpt4 book ai didi

javascript - 将 javascript/Type script 的 2 个功能合二为一

转载 作者:行者123 更新时间:2023-11-28 11:21:04 26 4
gpt4 key购买 nike

我有一个日期变量,并且我每秒更新它以使其生效。

现在这是我的变量。

var stationdate = new Date(data.localTime);

我的 Javascript 代码每秒更新一次。

window.setInterval(function () {        
stationdate = new Date(stationdate.setSeconds(stationdate.getSeconds() + 1));
}, 1000);

以及我的类型脚本代码,将其返回到 Angular UI。

window.setInterval(() => this.time = stationdate, 1000);

我的问题。

如果两个函数是分开的,它就可以完美地工作。

但如果我将它们组合起来,它就会停止工作。

见下文。

window.setInterval(function () {        
stationdate = new Date(stationdate.setSeconds(stationdate.getSeconds() + 1));
this.time = stationdate;
}, 1000);

我是否遗漏了类型脚本的粗箭头的内容?

正确的功能应该是什么?

最佳答案

每个函数都有它自己的this上下文。因此,您的 this 引用了函数表达式中的另一个对象。对于箭头函数,它引用包含该箭头函数的外部this

使用箭头语法,并且没有必要在setInterval后面使用window前缀。

setInterval(() => {        
stationdate = new Date(stationdate.setSeconds(stationdate.getSeconds() + 1));
this.time = stationdate;
}, 1000);

更多信息请阅读 Arrow function vs function declaration/expression - 这是 Javascript 的主要概念之一。

关于javascript - 将 javascript/Type script 的 2 个功能合二为一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46303747/

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