问题标签 [typescript3.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tsc - 将单个 .ts 文件编译到标准输出
我正在寻找将单个 .ts 文件编译到标准输出,如下所示:
这有可能吗?我想在不使用 tsconfig.json 文件的情况下控制输出的去向。
tsc - 如何用打字稿表示嵌套数组
假设我有一个字符串数组,例如:
除了使用Array<any>
如何表示嵌套的字符串数组?
reactjs - 更新所有反应子组件
我有这样的代码:
编辑器有这样的render()
功能:
我在<List>
's有这样的功能onSelect
<Editor>
将显示来自/api/customer
with的列表<List>
,并将选定的值发送到onSelect
props,然后更新所有<Column>
子级。数据对应列的id,如:
我放在这里的这个方法,只适用于直接下的孩子<Editor>
,但不适用于下<Group>
。
我的问题是,<Column>
当<Editor>
用户单击<List>
. 我的意思是,<Column>
对所有子项执行搜索,并更新所有值,无论它们在哪里,只要在<Editor>
标签内。
任何帮助表示赞赏。谢谢
typescript - 将表单 TypeScript 1.8.10 升级到 3.1.6
我有一个基于 typescript 1.8.10 的 VSTS 扩展。我想将它升级到最新的 typescript 3.1.6。我可以通过发出 npm i typescript@3.1.6 --save-dev 来做到这一点。但是,这样做之后,我从 *.d.ts 文件中收到了许多错误。主要来自knockout.d.ts和node.d.ts。我在下面尝试过:
- 手动更新类型定义
- 重新安装所有节点模块
错误如下所示:
[15:45:28] 使用 tsc 版本 3.1.6 编译 TypeScript 文件
[15:45:37] [tsc] > 定义/敲除.d.ts(10,2): 错误 TS2411: 类型为 '(valueToWrite?: T, event?: string) => void' 的属性 'notifySubscribers' 是不可分配给字符串索引类型“KnockoutBindingHandler”。
[15:45:37] [tsc] > 定义/敲除.d.ts(20,2): 错误 TS2411: 类型为 '(a: any, b: any) => boolean' 的属性 'equalityComparer' 不可分配到字符串索引类型'KnockoutBindingHandler'。
[15:45:37] [tsc] > 定义/敲除.d.ts(25,5): 错误 TS2411: 属性 'indexOf' 类型为 '(searchElement: T, fromIndex?: number) => number' 不是可分配给字符串索引类型“KnockoutBindingHandler”。
[15:45:37] [tsc] > 定义/敲除.d.ts(26,5): 错误 TS2411: 类型为 '(start: number, end?: number) => T[]' 的属性'slice'不能分配给字符串索引类型“KnockoutBindingHandler”。
到目前为止似乎没有任何工作。感谢有人可以指导我。
谢谢你。
tsc - 将类型转换回值
我正在将一个类转换为一个类型,但我想将该类型转换回一个类。说我有这门课:
然后我有一个类型的参考:
有没有办法将 F 转换回一个值而不是一个类型?
就像是:
其中 V 只是对 Foo 类的引用。
(我想奇怪的是 TypeScript 中的类既是类型又是值/表达式)。
我问的原因是因为我有这种情况:
但我想将其转换为这种情况:
但这不编译,我得到:
不能使用类型 F 作为表达式。
或者,如果有人知道如何从函数返回类型,那可能就足够了:
angular - TypeScript 3.1.6 Angular 7 Rxjs6 使用 catchError 在编辑器中显示错误,但代码运行正确
如果发生错误,我正在尝试从数据服务返回自定义错误。
上面的代码确实按我的预期运行,但文本编辑器显示以下错误:
(TS) 类型'可观察的<{} | Role[]>' 不可分配给类型 'ObservableRole[] | 自定义错误>'。
输入'{} | Role[]' 不可分配给类型 'Role[] | 自定义错误'。
类型 '{}' 不可分配给类型 'Role[] | 自定义错误'。
类型“{}”不可分配给类型“CustomError”。
类型“{}”中缺少属性“errorNumber”
谁能告诉我我需要做什么来解决这个问题?
事实证明,这不是代码中我遇到 catchError 问题的唯一地方。我有一个简单的拦截器,可以将 http 错误记录到控制台。(我正在试验如何使用拦截器)。
通过这段代码,我得到了一组非常相似的消息。我是否正确使用了 catchError 和 throwError ?
typescript - 声明任意嵌套数组(递归类型定义)
假设我有一个类似的功能:
问题v
可能是嵌套了 5 或 6 层。如何声明任意嵌套的类型?
例如,我该如何处理: