在扩展typescript类时缺少对kendo.data.ObservableObject的引用

时间:2014-06-17 07:14:35

标签: kendo-ui typescript observable

export class MyClass extends kendo.data.ObservableObject {

constructor() {
        super();
        super.init(this);

    }

.
.
.
.


}

我收到编译错误: 错误599构建:键入名称' kendo.data.ObservableObject' in extends子句不引用" kendo.data.ObservableObject'的构造函数。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

  

输入名称' kendo.data.ObservableObject' in extends子句不引用" kendo.data.ObservableObject'的构造函数。

基于http://docs.telerik.com/kendo-ui/api/framework/observableobject,构造函数需要至少一个参数(要观察的对象)所以你需要使用如下所示的参数调用构造函数:

export class MyClass extends kendo.data.ObservableObject {

    constructor(objToObserve) {
        super(objToObserve);
    }

.
.
.
.


}

答案 1 :(得分:0)

这个错误,也许是编译器发出的最令人困惑的错误,意味着当编译器查找extends子句中的类型所指示的时,它没有解析为一个值该类型的构造函数。

一个较小的例子:

class C { }

module M {
    var C = 3;
    class D extends C { } // <-- Error
}

此处,C中的类型名称 M表示class C,但值名称 C表示模块中声明的var

听起来您的程序中某处可能有var kendovar data。要对此进行诊断,请在您编写extends kendo.data.ObservableObject的行上方,写下var foo: kendo.data.ObservableObject并查看您获得的错误。