问题标签 [typescript2.2]

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.

0 投票
2 回答
2704 浏览

typescript - 是否可以在运行时传递 Typescript 装饰器对象值?

我有一个用@MinDate 约束装饰的类,如下所示:

当试图验证一个Order有效的实例时,验证错误就会出现。我的问题是this.purchaseDate作为参数传递给@MinDate()装饰器是否有可能/有效。

换句话说,打字稿装饰器可以从对象接收运行时值,还是这些值必须在编译时可用?例如:

0 投票
1 回答
115 浏览

typescript - 将数据字段与可区分的联合链接导致错误

我正在开发一个 Ionic (3.0.0) 应用程序,并且经常想要链接 data 中两个字段的类型interface。例如,aNotificationDataverb: 'mention' | 'share' | ...reference: ProfileReference | DocumentReference | ...字段,但实际上,aNotificationData是联合类型:

到目前为止,一切都很好。还有其他字段不随 变化verb,所以我通常创建一个基接口,以不同的方式扩展它,然后取并集,如下所示:

只要我对数据进行硬编码就可以了

或从 a 生成一个整体switch

但是如果我尝试以另一种方式生成它,Typescript 会抱怨:

事实上,即使没有数据字段的链接,也会出现这些错误:

我可以I在我的类型签名中使用

但这失去了我最初想要的字段的链接。我也可以总是switchfunction f上面那样使用 a ,例如

但我希望能够在不创建单独函数的情况下做到这一点,比如

无论如何,这感觉像是 Typescript 应该能够表达/处理的东西。

所以我的问题是,有没有更好的方法在 Typescript 中表达这个链接字段类型信息?或者另一种从程序生成 aJ[]的方法X[]

0 投票
0 回答
736 浏览

angular - 在 Angular 4 中使用 PapaParse

我刚开始使用 Angular 4 和 Typescript 导入。我想要做:

该库papaparse-angular4不存在。所以我需要创建它。我想知道将 papaparse 转换为 angular 4 可以使用的东西的基本步骤是什么?

0 投票
0 回答
1180 浏览

angular - 启用可滚动=“真”时,p-multiselect 弹出窗口在primeng数据表中不可见

使用 scrollable="true" 时,primeng p-multiselect 过滤器弹出窗口在primeng 数据表中不可见。如果我删除 scrollable="true" 它在primeng数据表中工作正常。请参阅以下代码以供参考

.html

.ts

0 投票
1 回答
883 浏览

typescript - 什么是 typescript `--lib` 库文件?

一个类似的问题。这涵盖了 typescript 对选项的作用。以下问题和答案涵盖了lib文件在运行时的来源。

当我查看--lib编译器选项的描述时,它说:

要包含在编译中的库文件列表。

这些库文件是什么以及它们是如何包含的?我正在研究的存储库有以下设置?

如果--lib不设置为,输出会有什么不同["es2015", "dom"]

0 投票
2 回答
90 浏览

angular - 开发 Angular 4 组件时是否应该包含 typescript lib 设置 dom?

这篇关于分发 Angular 库的文章中,作者说不要直接接触 dom 是个好主意,因为这会使组件在 web Worker 中无法使用。

因此,我们是否应该忽略domtypescriptlib编译器选项,或者是否存在某些我们绝对需要它的用例?这是一个包含 dom 的示例:

示例tsconfig.json编译器选项包括dom...

0 投票
0 回答
2196 浏览

angular - 使用Angular4(Primeng数据表)从Click事件的特定选项卡转到另一个选项卡

我正在使用 Angular4 创建一个应用程序,在该应用程序中,我需要使用选项卡内的按钮单击事件在选项卡之间导航。Primeng 数据表单击事件导航到另一个选项卡。

tabsSample.html

零件

tab1.html

0 投票
1 回答
24353 浏览

node.js - 使用ts-node执行时使用打字稿导入nodejs`fs`?

我正在尝试使用ts-node运行以下代码。

但是我得到:

我需要做什么才能允许 typescript 导入 fs 模块?

0 投票
0 回答
1046 浏览

javascript - 在 Angular4 服务中使用 commonjs 模块?

我首先使用我这样安装的 commonjs 模块进行了测试:

然后我创建main.js了看起来像这样的东西:

然后main.js用 webpack 编译成bundle.js,加载到浏览器中,就搞定了。

现在我想the-module在 Angular 4 服务中使用。我应该如何导入它?

我还发现了这篇关于如何创建 Angular 2 组件库的文章。好奇 Angular 将导入的所有 commonjs 模块是否都需要这组步骤,或者是否有更直接的方法?

相关概念

写完这篇文章:

使用-vanilla-npm-javascript-modules-with-typescript

0 投票
1 回答
57 浏览

typescript - Typescript 如何将我们导入的类型定义与相应的实现联系起来?

当我们使用库类型定义(.d.ts)文件时,打字稿如何将我们正在导入的内容的定义与相应的类型联系起来?

例如,如果我们:

然后在里面bar.spec.js

打字稿现在了解类型化的外观expect?它通过什么过程来做到这一点?