我有一个打字稿文件......而且它的TSLint失败了。希望有人能回答这个问题。
所以对象看起来像这样:
export default class Container extends Vue {
// methods
doSomething() {
console.log('something happened')
}
items: object[] = [
{
title: test,
onclick: _this.doSomething();
}
]
}
我尝试使用this
代替_this
,但this
仅引用项目中的单个对象。然后我在Chrome开发工具中发现我可以使用_this
来访问包含的类。但是,当我将此代码通过TSLint时,它会抱怨它找不到名称' _this' 。
我的项目使用tslint-config-airbnb
。
感谢。 约翰。
答案 0 :(得分:0)
您可以尝试使用this
和bind
吗?像
items: object[] = [
{
title: test,
onclick: this.doSomething.bind(this);
}
]
基本上我们告诉onclick处理程序不要将其上下文更改为单个对象,而是将其保留为容器上下文。