使用Angular2组件和Canvas(Fabric.js)时,我遇到了一些范围问题。假设我们有以下代码:
/简化示例/
export class SomeComponent {
public foo: boolean;
ngOnInit() {
canvas.on('text:editing:entered': this.bar);
}
bar() {
this.foo = true;
console.log(this.foo); //true
}
@HostListener('window:keyup')
baz() {
console.log(this.foo); //undefined
}
}
行。这是我的工作:
fabric.js
),它会调用bar
并将foo
设置为{{1 }},true
方法,我的意外baz
是foo
!这里发生了什么?有什么想法吗?