Kendo ui TypeScript kendoTreeView更改/选择类方法回调

Kendo ui TypeScript kendoTreeView更改/选择类方法回调,kendo-ui,typescript,Kendo Ui,Typescript,我一直在四处搜索,想知道为什么Kendo回调不能使用TypeScript,但我找不到有用的东西 所以我的问题是kendo如何使用类方法作为回调? 例: 如果使用当前版本的TypeScript(1.0RC),则创建一个类: class Demo { private Tree_Item_Selected(item:any) { } public Create_Tree(data:any) { var kendoSettings = { dat

我一直在四处搜索,想知道为什么Kendo回调不能使用TypeScript,但我找不到有用的东西

所以我的问题是kendo如何使用类方法作为回调? 例:


如果使用当前版本的TypeScript(1.0RC),则创建一个类:

class Demo {
    private Tree_Item_Selected(item:any) { }

    public Create_Tree(data:any) {
        var kendoSettings = {
            dataSpriteCssClassField: "sprite",
            dataSource: data,
            template: "<span>#= item.text#</span>",
            change: ( item: any ): void =>        
            {
                this.Tree_Item_Selected( item );
            },
            change2: function( item: any )        
            {
                _this.Tree_Item_Selected( item );
            }                                   
        };              
    }   
}
唯一的区别是,第二个错误产生了一个错误,
\u未找到此

在第二个示例中,它之所以能够工作,是因为它正确地捕获了
this
。但是,您可能需要考虑不同的语法:

$( "#ipb_aci_button_edit" ).show().on( "click",
      (e:JQueryEventObject) => { this.Handle_Info_OnClick_Edit(e) } );

private Handle_Info_OnClick_Edit(e:JQueryEventObject): void 
{
    // 'this' is correct as it was captured by the event handler code
}

谢谢我一直在胡闹,第二个“改变”选项确实有效。问题是我在一个级别上有一个剩余的function()定义,这导致该定义没有通过调用正确传播。有时检查生成的JS也很好。:)重新编辑:现在我已经修复了上层,“更改:this.Tree\u Item\u Selected”选项也可以正常工作。
class Demo {
    private Tree_Item_Selected(item:any) { }

    public Create_Tree(data:any) {
        var kendoSettings = {
            dataSpriteCssClassField: "sprite",
            dataSource: data,
            template: "<span>#= item.text#</span>",
            change: ( item: any ): void =>        
            {
                this.Tree_Item_Selected( item );
            },
            change2: function( item: any )        
            {
                _this.Tree_Item_Selected( item );
            }                                   
        };              
    }   
}
change: function (item) {
    _this.Tree_Item_Selected(item);
},
change2: function (item) {
    _this.Tree_Item_Selected(item);
}
$( "#ipb_aci_button_edit" ).show().on( "click",
      (e:JQueryEventObject) => { this.Handle_Info_OnClick_Edit(e) } );

private Handle_Info_OnClick_Edit(e:JQueryEventObject): void 
{
    // 'this' is correct as it was captured by the event handler code
}