当前位置: 首页 > 知识库问答 >
问题:

无法调用其类型缺少调用签名的表达式。类型'typeof import("weealert2")'没有兼容的调用签名

易超
2023-03-14

我得到“无法调用其类型缺少调用签名的表达式。类型'typeof import("weealert2")'没有兼容的调用签名。”在角度使用SWAL时出现此错误。

    "ng2-sweetalert2": {
    "version": "0.0.8",
    "resolved": "https://registry.npmjs.org/ng2-sweetalert2/-/ng2-sweetalert2-0.0.8.tgz",
    "integrity": "sha1-+VkDV2dqeLIMf3eFTLVt/cJda0Q=",
    "requires": {
        "lodash.assign": "^4.0.8",
        "sweetalert2": "^5.2.0"
    },
    "dependencies": {
        "es6-promise": {
            "version": "4.2.6",
            "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
            "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q=="
        },
        "sweetalert2": {
            "version": "5.3.8",
            "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-5.3.8.tgz",
            "integrity": "sha1-YALBhFPQYMQLnMVL+DoBDHHjlik=",
            "requires": {
                "es6-promise": "^4.2.6"
            }
        }
    }
}

"sweetalert2": {
      "version": "8.9.0",
      "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-8.9.0.tgz",
      "integrity": "sha512-gI+wL44QRbfd6FvRVB8KKLQPhD/8jP3XUNrvYGcSlU7IA09dQtQw3rrLCbM3c+HY0L3O8VTz1Gvu29n8ryIgag=="
}
"dependencies":{
"ng2-sweetalert2": "0.0.8",
"sweetalert2": "^8.9.0",}

在一个组件中,我的代码如下所示

import * as swal from 'sweetalert2';

        swal({
          text: 'Login Successful!',
          timer: 1000,
          onOpen: () => {
            swal.showLoading()
          }
        })then((result) => {
          if (result.dismiss === swal.DismissReason.timer) {
              // calling few required functions here
          }
        })

在组件中,我得到了上面提到的错误。搜索了很多,但无法找出问题。请帮助我。

共有2个答案

姬烨磊
2023-03-14

您通过package.json安装了两个依赖项:

  • weealert2,这是一个纯(!)javascript库。它与角无关。
  • ng2-weealert2,这是一个Angular服务,它将本机weealert2库包装到Angular服务中。根据GitHub页面,这已被弃用。

我建议从您的软件包中删除和。json,并添加ngx-sweetalert2:

npm install --save sweetalert2 @sweetalert2/ngx-sweetalert2

设置ngx-sweetalert2中描述的模块,从那里,您可以通过指令或组件使用多种方法使其工作。

乌翰学
2023-03-14

我也有同样的问题。使用

swal.fire() 

而不是

swal()

它会解决你的问题。

 类似资料:
  • 问题内容: 我是打字稿的新手,并且有两节课。在父类中,我有: 在儿童班,我有: showMore和ShowLess都给我一个错误,“无法调用类型缺少调用签名的表达式”。 但是,我认为setProp返回的函数确实具有呼叫签名吗?我认为我误解了有关函数类型的一些重要信息,但我不知道它是什么。 谢谢! 问题答案: 它返回的函数具有一个调用签名,但是您告诉Typescript通过添加其签名来完全忽略它。

  • 我正在尝试将html2Canvas库用于Angular 8项目。 我还尝试在我的项目中通过安装html2Canvas类型,但它仍然不起作用。 模板: 组件: 我的意图是将表单呈现为画布,但应用程序抛出错误: src/app/grid/pdf-viewer/pdf-viewer中出错。组成部分ts(19,5):错误TS2349:无法调用其类型缺少调用签名的表达式。键入“typeof import(“

  • 我将Angular 2与TypeScript 2一起使用。 当我使用 它给我错误: 错误TS2349:无法调用其类型缺少调用签名的表达式。

  • 在从2. x升级到4. x并将types cript升级到2. x后,开始出现以下错误,该错误与以前的版本配合良好 无法调用其类型缺少调用签名的表达式。类型'((未完成?:(值:MediaStream)= 我的代码如下

  • 我是阿波罗世界的新人。我为我的Vue apollo客户端使用Vue composition API和@Vue/apollo composable以及V4版。以及后端ist nodejs服务器和apollo服务器。现在我在useQuery的loginpage上遇到了一个问题,如果我调用查询结果,它们将显示错误“TS2349:此表达式不可调用”。 调用结果:此行的loginBenutzer login

  • 我的HTTP放调用响应由以下代码打印。 我想打印要在console或其他格式上打印的内容类型信息。基本上我希望看到c#中的内容类型。我该怎么做?