ts 类型推导问题

2020-05-27 10:37:35 +08:00
 lamada

我有一个 system 管理了很多 model,有一些 model 可能会用到其他 model 的方法,有什么办法可以在一个 model 在不引用其他 model 的情况下获得类型推导?除了单独编写 d.ts

// 这里运行是 a,b 可能都是异步加载的,打包时相互不引用

// a.ts
class A {
	bar (name: string): void {}
}


// b.ts
class B {
	foo () {
    	// root 指代的是 system,通过 system 获取其他 model 。这里想获得 bar 的类型推导
    	this.root.a.bar('hello')
    }
}
2534 次点击
所在节点    TypeScript
8 条回复
SilentDepth
2020-05-27 17:21:48 +08:00
Type-only imports and exports
SilentDepth
2020-05-27 17:22:06 +08:00
lamada
2020-05-27 18:56:36 +08:00
@SilentDepth nb, 现在已经这么高级了
lamada
2020-05-27 19:09:24 +08:00
@SilentDepth 就是 eslint 好像还没支持,有点蛋疼
shunf4
2020-05-28 19:23:57 +08:00
@lamada 支持了吧,我一直这么搞
lamada
2020-05-29 10:17:33 +08:00
@shunf4 可能我 ts 版本太低了,更新了好像可以了
wi
2020-05-31 22:39:26 +08:00
用过 vue 的 vuex 吗
wi
2020-05-31 22:39:39 +08:00
vuex 的情况类似

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675874

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX