typescript - 为什么我们在处理 vue 组件时会丢失 typescript 类型检查?
问题描述
(我对 Vuejs 和 Typescript 有经验,但在这个论坛上是新手)。(我试图找到这个话题但没有成功)。
我喜欢 Typescript 执行的类型检查,非常有帮助。但是,在 vuejs 和 typescript 之间,有时会丢失类型,然后是类型检查。
具体例子:
在我的 vuejs 程序中,我有:
<script lang="ts">
import * as utils from “…/utils/utils”;
...
methods: {
runProjectsQuery: function () {
utils.processProjects(this);
},
},
...
因此,您了解 processProjects 是在 utils.ts 中实现的,例如:
export function processProjects(myVueComponent: any): void {
...
myVueComponent.myField = "foo";
...
}
到目前为止,一切都很好,除了 myVueComponent 是 any 类型,我失去了 typescript 完成的所有非常有用的类型检查。更准确地说,如果我在 processProjects() 中声明了具有精确类型的东西,它工作正常,类型检查工作正常。但是当我使用 myVueComponent.myField 时,由于 myVueComponent 被声明为 any,与 myVueComponent.myField 关联的相关类型检查就会丢失。我强调我被迫将 myVueComponent 声明为“任何”这一事实。
你遇到过这个问题吗?你有解决方案吗 ?
提前致谢。问候。
解决方案
推荐阅读
- r - 使用 stringr (r) 提取多个条件
- java - BufferedReader 中的 readLine() 是如何工作的?
- dask - 分布式 dask 调度程序节点是否需要与工作节点相同的环境?
- python - 快速将 SQL 数据序列化为 python 列表
- c++ - C ++访问结构中结构数组的元素
- c++ - 创建一个新字符以传递给 C 中的方法
- spring-boot - Maven Spring Boot 无法推送 Docker 镜像
- r - 将不同长度的向量合并到动态矩阵中
- python - Python“SSL 传输上的致命错误”异步库问题
- elixir - localhost:4000 在运行发行版的二进制文件时拒绝连接。如何从混合版本开始的 elixir 应用程序访问错误日志?