typescript - 虽然不允许隐式任何类型

typescript - while not allowing implicit any types

我们选择不允许在我们的项目中使用任何隐式任何类型,但是我们使用的是第 3 方 ko.validation 库

我们在以下方面遇到错误

ko.validation.rules['minArrayLength'] = {
    validator: function (obj: any, params: any) {
        return obj.length >= params.minLength;
    },
    message: "Array does not meet minimum length requirements"
};

对象类型的索引签名隐式具有 'any' 类型。

错误在 ko.validation.rules['minArrayLength']

我们怎么能不允许任何但仍然使用ko.validation.rules?

通过声明合并将其添加到KnockoutValidationRuleDefinitions接口:

interface KnockoutValidationRuleDefinitions {
    minArrayLength: KnockoutValidationRuleDefinition;
}

这将在 ko.validation.rules 上定义规则,从而消除隐含的任何错误。

如果您使用外部模块,请务必将此接口放入您自己的定义文件中(.d.ts)。