带有 Vetur 的 VSCode 中带有 Typescript 的 NativeScript-Vue:在类型“void”上不存在属性“then”的警报

Posted

技术标签:

【中文标题】带有 Vetur 的 VSCode 中带有 Typescript 的 NativeScript-Vue:在类型“void”上不存在属性“then”的警报【英文标题】:NativeScript-Vue with Typescript in VSCode with Vetur: Alert with then giving Property 'then' does not exist on type 'void' 【发布时间】:2020-09-02 01:01:05 【问题描述】:

我将 VSCode 与 Vetur 一起使用。这是我的代码:

alert(
  title: 'Success!',
  message: 'Account created successfully',
  okButtonText: 'Okay'
  ).then(() => 
  console.log('Alert dialog closed!');
)

我收到错误Property 'then' does not exist on type 'void' Vetur(2339)

我只是按照文档中的说明进行操作:https://nativescript-vue.org/en/docs/elements/dialogs/alert/

知道发生了什么吗?

【问题讨论】:

你在使用 TypeScript 还是设置了任何 linter? 是的,我在 VSCode 中使用带有 ESLint 和 Vetur 扩展的 TypeScript 那我想一定是你的 tsconfig 或者 Vetur 扩展,我不太确定。但我可以肯定地说,警报支持 N 中的承诺。您可以通过将 alert 转换为 any 来绕过编译器错误。 好的,让我试试 【参考方案1】:

编辑 Nativescript 7:

import Dialogs from "@nativescript/core";

然后使用

Dialogs.alert(
  foo
);

或任何您需要的对话框模块。

原答案:

请确保

import  alert  from 'tns-core-modules/ui/dialogs'

编辑: 或(感谢 ayudh)

import  alert  from '@nativescript/core/ui/dialogs'

【讨论】:

以上是关于带有 Vetur 的 VSCode 中带有 Typescript 的 NativeScript-Vue:在类型“void”上不存在属性“then”的警报的主要内容,如果未能解决你的问题,请参考以下文章

小记事如何设置vscode代码格式化时不要自动换行

vsCode 代码不高亮显示的问题——安装Vetur插件

如何防止 Vetur 和 TypeScript 在 VSCode 中同时显示打字稿警告?

VSCode(Vetur) 无法识别组件中的自定义 Vue 属性

Vetur 在模板中无法正常工作(不检查数据、方法...)

vscode, eslint, prettier, vetur冲突及解决