gpt4 book ai didi

javascript - Mo.js 对象扩展语法的替代方案

转载 作者:行者123 更新时间:2023-11-28 18:14:52 25 4
gpt4 key购买 nike

我正在关注 mo.js 教程,并且正在研究圆形点击爆发部分。

const OPTS = {
fill: 'none',
radius: 25,
strokeWidth: { 50 : 0 },
scale: { 0: 1 },
angle: { 'rand(-35, -70)': 0 },
duration: 500,
left: 0, top: 0,
easing: 'cubic.out'
};

const circle1 = new mojs.Shape({
...OPTS,
stroke: 'cyan',
});

const circle2 = new mojs.Shape({
...OPTS,
radius: { 0 : 15 },
strokeWidth: { 30: 0 },
stroke: 'magenta',
delay: 'rand(75, 150)'
});

我使用的是 VSCode V 1.7.2,它在支持 ... 语法时遇到问题。我还在 Chrome 54.0.2840.99 中收到控制台错误。是否有等效的格式可以用来解决这个问题?我想象像 options: OPTS 这样的东西会起作用,但我没有在文档或互联网上看到任何可以帮助我的东西。

显然,我可以在循环声明中复制 OPTS 中的属性,但为了简单起见,我想知道如何使用 OPTS 变量。

我会标记 mo.js,但我没有足够的声誉来创建新标记。

谢谢!

最佳答案

您可以使用Object.assign()来代替:

const circle2 = new mojs.Shape(Object.assign({}, OPTS, {
radius: { 0 : 15 },
strokeWidth: { 30: 0 },
stroke: 'magenta',
delay: 'rand(75, 150)'
}));

对象传播仍然是一个建议,linter 无法识别语法。这并不意味着它不起作用。如果您将 babel 与 stage 3 preset 一起使用(或 0、1、2 预设),例如,即使 vscode 显示警告,它也会工作。我不熟悉 vscode,但您也许可以添加对此功能的支持。

关于javascript - Mo.js 对象扩展语法的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917699/

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