小编bla*_*e20的帖子

JSON.stringify 不带引号的键

是否可以从 JSON.stringify 中的键中删除引号?通常它会有引号:

const object = { name: "Foo Bar", birthdate: { date: "2000-01-01", time: "12:34" } };
console.log(JSON.stringify(object, null, "    "));
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "name": "Foo Bar",
    "birthdate": {
        "date": "2000-01-01",
        "time": "12:34"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

{
    name: "Foo Bar",
    birthdate: {
        date: "2000-01-01",
        time: "12:34"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是否可能,或者我是否必须创建自己的 JSON 序列化器?

javascript json

8
推荐指数
1
解决办法
6322
查看次数

模块扩充中不允许导出和导出分配

import { Request as ExpressRequest, Response as ExpressResponse } from 'express';
declare module 'kvl' {
    export = kvl;
}
declare const kvl: {
    ValidationDone:(param:(error: any, response: ExpressResponse) => void) => void;
}
Run Code Online (Sandbox Code Playgroud)

模块扩充中不允许导出和导出分配。

我是在 .d.ts 中声明的?我不能这样用吗?

express typescript

4
推荐指数
1
解决办法
4176
查看次数

观察元素尺寸变化

这不是重复的!我对其他答案的结果不满意。如果您仍然认为它是重复的,请在您认为它是重复的原因之前发表评论!


我必须观察元素的大小变化。我尝试通过在offsetWidth属性上创建一个设置器来做到这一点,如下所示:

const div = document.querySelector("div");

div.addEventListener("resize", console.log);
div.addEventListener("click", () => console.log(div.offsetWidth));


let width = div.offsetWidth;
Object.defineProperty(div, "offsetWidth", {
    get: () => width,
  set: val => {
    width = val;
    div.dispatchEvent(new Event("resize"));
  }
});

document.querySelector("button").onclick = () => div.style.width = "200px";
Run Code Online (Sandbox Code Playgroud)
div {
  background-color: #f00;
  width: 300px;
  height: 300px;
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
<button>
Set size
</button>
Run Code Online (Sandbox Code Playgroud)

单击红色框以记录尺寸。然后按下按钮。什么都没发生。如果再次单击该框,它仍会显示旧尺寸。为什么这不起作用?

html javascript resize offsetwidth

1
推荐指数
1
解决办法
2618
查看次数

标签 统计

javascript ×2

express ×1

html ×1

json ×1

offsetwidth ×1

resize ×1

typescript ×1