如何在TypeScript中访问我的全局属性?

时间:2015-10-21 08:21:36

标签: javascript knockout.js typescript typescript1.5

我的.ts文件中有一些函数,要从函数访问其他函数和全局变量,我这样做:var self = this,然后是self。 - 我可以访问我所有的功能和变量。
但是:
在以下例子中遇到击倒装订问题:
<span data-bind="text: CatNom", click: $parent.ClickedItem />和我的public ClickedItem(obj, event) { var self = this } - 在这里,这个是我的参数obj。
如何将此声明为我的类的实例,以便访问我的整个类中的所有属性。
提前谢谢!

2 个答案:

答案 0 :(得分:1)

找到解决方案。使用的lambda表达式。
所以我有:

public ClickedItem = (obj, event) => { var self = this }

而不是

public ClickedItem(obj, event) { var self = this }

TypeScript and Knockout binding to 'this' issue - lambda function needed?

答案 1 :(得分:1)

只需使用箭头功能,您甚至无需创建self变量:

clickedItem = (obj, event) => { 
    console.log(this) // `this` is the class instance
}

更多:https://basarat.gitbooks.io/typescript/content/docs/arrow-functions.html