小编Mar*_*ary的帖子

为什么 console.log 在 Typescript 中对我不起作用?

我的代码很简单:

console.log("你好世界");

但是当我跑步时:

tsc 你好.ts

我没有得到任何控制台输出。

我还需要做些什么吗?

typescript

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

为什么我的 MongoDB ObjectID 在 TypeScript 中不被识别为类型?

我将 Node.js 与 MongoDB 和 TypeScript 一起使用。

下面两行代码:

const ObjectID = require("mongodb").ObjectID;
const id = new ObjectID("5b681f5b61020f2d8ad4768d");
Run Code Online (Sandbox Code Playgroud)

编译没有错误。

但是当我将第二行更改为:

const id: ObjectID = new ObjectID("5b681f5b61020f2d8ad4768d");
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

找不到名称“ObjectID”

为什么ObjectID在 TypeScript 中不被识别为类型?

mongodb node.js typescript

6
推荐指数
3
解决办法
7885
查看次数

在 Bootstrap 中,为什么我的禁用按钮没有工具提示?

我的 JSFiddle 在这里:

https://jsfiddle.net/h2kf5ztq/

我在很大程度上试图从以下方面复制 balexand 的答案:

如何在禁用按钮上启用引导工具提示?

包括,重要的是,CSS:

.tooltip-wrapper {
  display: inline-block; /* display: block works as well */
  margin: 50px; /* make some space so the tooltip is visible */
}

.tooltip-wrapper .btn[disabled] {
  /* don't let button block mouse events from reaching wrapper */
  pointer-events: none;
}

.tooltip-wrapper.disabled {
  /* OPTIONAL pointer-events setting above blocks cursor setting, so set it here */
  cursor: not-allowed;
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,我禁用的按钮没有工具提示。

如何启用工具提示?

html javascript css twitter-bootstrap

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

在 Puppeteer 中,如何获取选择器的 innerHTML?

目前,我正在尝试以下操作:

const element = await page.$("#myElement");
const html = element.innerHTML;
Run Code Online (Sandbox Code Playgroud)

我期待打印 HTML,但我得到了undefined.

我究竟做错了什么?

javascript innerhtml node.js puppeteer

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

如何在JavaScript中执行不区分大小写的替换?

我目前有以下代码:

const pattern = "quick";
const re = new RegExp(pattern, "gi");

const string = "The quick brown fox jumped over the lazy QUICK dog";

const replaced = string.replace(pattern, "<b>" + pattern + "</b>");

console.log(replaced);
Run Code Online (Sandbox Code Playgroud)

它产生以下内容:

The <b>quick</b> brown fox jumped over the lazy QUICK dog
Run Code Online (Sandbox Code Playgroud)

我想要的是:

The <b>quick</b> brown fox jumped over the lazy <b>QUICK</b> dog
Run Code Online (Sandbox Code Playgroud)

我有两个问题。

首先,为什么QUICK我不区分大小写的正则表达式不被替换?

其次,我如何确保QUICK<b>QUICK</b>和代替<b>quick</b>

javascript regex node.js

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

在Vue.js中,为什么我的计算属性不起作用

在下面的代码中:

new Vue({
  el: '#app',
  computed: {
    myMessage: function() {
      return "hello";
    }
  },
  data: {
    message: this.myMessage
  },
  mounted: function() {
    console.log(this.myMessage);
  }
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/vue"></script>

<div id="app">
  <p>{{ message }}</p>
</div>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/hk49eL38/

如果我替换:

this.myMessage 使用字符串(例如“ Hello world”),则可以正确呈现。

但是当我使用时this.myMessage,不会显示任何文本。

为什么是这样?

javascript vue.js

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

尽管我的 .gitignore 为何我的配置文件仍被签入?

我的 .gitignore 有以下内容:

./config.json
Run Code Online (Sandbox Code Playgroud)

但当我进行更改时,我的 config.json 仍在提交。

为什么会发生这种情况?

git gitignore

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

我怎样才能抓住被拒绝的Promises?

我的代码如下:

errorTest().then((result) => {

    try {
        console.log(result);
    }

    catch (err) {
        console.error("Error detected 1");
        console.error(err);
    }
}).catch((err) => {
    console.error("Error detected 2");
    console.error(err);
});

async function errorTest() {
    return new Promise((resolve, reject) => {
        reject("my error");
    })
}
Run Code Online (Sandbox Code Playgroud)

目前,它打印"检测到错误2".

我想使用try/catch捕获我的错误,以便代码打印"Error detected 1".

如何修改我的代码才能执行此操作?

javascript promise

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

在带有 jQ​​uery 的 TypeScript 中,为什么我会收到错误“this”隐式具有任何类型

我的代码如下:

$(function() {

    $("table").on("click", function() {
      const button = $(this);
    });

});
Run Code Online (Sandbox Code Playgroud)

我的错误是:

this 隐式具有“any”类型,因为它没有类型注释。

我该如何修复这个错误?

编辑:

我的 tsconfig.json 如下:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "noImplicitAny": true,
        "moduleResolution": "node",
        "sourceMap": true,
        "strict": true,
        "outDir": "dist",
        "baseUrl": ".",
        "paths": {
            "*": [
                "node_modules/*",
                "src/types/*"
            ]
        }
    },
    "include": [
        "src/**/*"
    ]
}
Run Code Online (Sandbox Code Playgroud)

编辑2:

我的 package.json 中有以下内容

"@types/jquery": "^2.0.41",
Run Code Online (Sandbox Code Playgroud)

jquery typescript

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

在for循环中处理undefined?

假设我的代码如下:

const days = ['Monday', 'Tuesday'];

for (const day of days) {
  console.log(day);
}
Run Code Online (Sandbox Code Playgroud)

打印出"周一"和"周二".

如果由于某种原因,days未定义,那么我会收到运行时错误.

我可以通过输入如下代码来处理这个问题:

if (undefined == days) {
  // logic here
}
Run Code Online (Sandbox Code Playgroud)

对我来说,这看起来有点笨重.有没有办法让for ... of循环忽略未定义的值?基本上,将它视为零长度数组,因此for循环内部的逻辑不会执行,但它也不会抛出错误.

javascript

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