无法从kendotreelist中的kendo模板调用Typescript中的函数 [英] Not able to call function in typescript from kendo template in kendotreelist

查看:93
本文介绍了无法从kendotreelist中的kendo模板调用Typescript中的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

A类(打字稿文件)中的Kendo TreeList代码:我已经从kendo模板中调用了一个函数.

export class A{                        
            drillDownDataSource: any;        
            constructor() {               
                    this.GetStatutoryIncomeGridViewData();
            }    
            GetStatutoryIncomeGridViewData() {        
                $.ajax({
                    type: 'POST',
                    url: 'Controller/Action/',
                    data: stfilterData,
                    success: function (data) {
                   $("#grid").kendoTreeList({
                    dataSource: data,                                       
                    columns: [
                 { field: "Transaction1",
template:kendo.template("#=FormatNumberToEn(Transaction1)#").bind(this) },
                                        }                    
                });
            });

      public FormatNumberToEn(value) { }
    }
    } 

出现错误function FormatNumberToEn is undefined

解决方案

如果要在KendoUI模板中使用函数,则必须在全局(JavaScript-)Scope中定义它们. (参考)

只需从类A中提取FormatNumberToEn函数.

export class A { 
    /* class definition */ 
}
function FormatNumberToEn(value) { /* function logic */ }

或者将函数定义为static并在模板内调用A.FormatNumberToEn()可能也可以. (目前无法在移动设备上对其进行测试.)

Kendo TreeList code in class A (typescript file): I have given call to a function from kendo template.

export class A{                        
            drillDownDataSource: any;        
            constructor() {               
                    this.GetStatutoryIncomeGridViewData();
            }    
            GetStatutoryIncomeGridViewData() {        
                $.ajax({
                    type: 'POST',
                    url: 'Controller/Action/',
                    data: stfilterData,
                    success: function (data) {
                   $("#grid").kendoTreeList({
                    dataSource: data,                                       
                    columns: [
                 { field: "Transaction1",
template:kendo.template("#=FormatNumberToEn(Transaction1)#").bind(this) },
                                        }                    
                });
            });

      public FormatNumberToEn(value) { }
    }
    } 

Getting error function FormatNumberToEn is undefined

解决方案

If you want to use functions in KendoUI templates you have to define them in the global (JavaScript-)Scope. (Reference)

Just extract the FormatNumberToEn function from the class A.

export class A { 
    /* class definition */ 
}
function FormatNumberToEn(value) { /* function logic */ }

Alternatively defining your function as static and calling A.FormatNumberToEn() inside the template might also work. (Can't test it right now as I'm on mobile.)

这篇关于无法从kendotreelist中的kendo模板调用Typescript中的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆