【发布时间】:2018-02-10 22:54:20
【问题描述】:
我有一个大型现有项目正在转换为 typescript,最终将被重构,然后放入 Angular。当前的项目中有很多Jquery。我在项目中实现了当前的@types。
问题在于这一行
if (["Priority", "PM"].indexOf($('option:selected', this).val()) >= 0) {
由于类型定义而产生错误。我得到 [TS] 类型参数 'string |号码 | string[]' 不能分配给“string”类型的参数。因为 indexOf 被定义为“(method) Array.indexOf(searchElement: string, fromIndex?: number): number”而Jquery的.val被定义为“JQuery.val(): string | number | string[] (+1超载)”。
我需要一种方法来覆盖 .val 定义,只是字符串以便我可以编译它,对于像这样的行而不覆盖整个项目的 .val。我在项目中有很多这样的行,所以我还不能重写每个人。最终我们将完全摆脱 Jquery。如果有人能指出我正确的方向,那就太好了。
【问题讨论】:
标签: jquery typescript types