Hur man anropar en TypeScript-funktion från en Kendo-mall
Jag använder Typescript och Kendo UI i mitt projekt. Det fungerade bra tills jag ville anpassa griddata genom att anropa en funktion i gridmallen. Jag uppdaterade mallen till:
<td>#= Simple(Id) #</td>
och lade till funktionen. Det fungerade bra och visade id i cellen.
<script>
function Simple(id) {
return id;
}
</script>
Problemet är att jag vill definiera en enkel metod i min Typescript-klass, men jag kan inte få rätt omfattning för funktionen. Jag försökte lägga till den i min vyklass eller dataSource, men inget fungerade. Kolumnerna kan inte renderas eftersom funktionen är odefinierad. Jag vill inte definiera en global funktion. Hur kan jag binda en funktion som definieras i en Typescript-klass till rutnätet?
Svar #1
Vanligtvis är det som skickas till mallen en instans av en Kendo-modell, så du skulle behöva definiera din metod på kendo.data.Model.fn.
Svar #2
Du behöver deklarera det i ett globalt sammanhang.
module MyModule {
export class MyClass {
//Do wathever you want
//Template
<td>#= Simple(Id) #</td>
}
}
function Simple(id) {
return id;
}
referens: Kan inte anropa funktion i TypeScript från Kendo-mall i KendoTreeList
