我试图扩展来自定义文件的现有KendoUI接口。 通过接口合并,这通常是直截了当的,但我要扩展的接口是在特定的全局命名空间中" kendo.ui"
我试图添加" hideInEditor"像这样支持kendo.ui.GridColumn接口的接口。
namespace kendo.ui {
export interface GridColumn {
hideInEditor?: boolean;
}
}
然而,编译器似乎忘记了原始定义的所有内容,因为缺少所有类型,我无法再访问kendo名称空间。显然这是错误的。但扩展这种界面的正确方法是什么?
答案 0 :(得分:1)
将类型定义文件放在同一个文件夹中不会做任何事情,除非你以某种方式告诉编译器寻找它们。
在你的情况下,我认为你需要这个:
/// <reference path="./kendo.ui.d.ts" />
namespace kendo.ui {
export interface GridColumn {
hideInEditor?: boolean;
}
}
let obj: kendo.ui.GridColumn;
console.log(kendo.culture()); // ok
console.log(obj.format); // ok
console.log(obj.hideInEditor); // ok
请注意reference
的第一行。