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