Kendo ui TypeScript kendoTreeView更改/选择类方法回调
我一直在四处搜索,想知道为什么Kendo回调不能使用TypeScript,但我找不到有用的东西 所以我的问题是kendo如何使用类方法作为回调? 例: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
如果使用当前版本的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
}