Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular2和Fabric.js中的属性范围_Javascript_Angular_Fabricjs - Fatal编程技术网

Javascript Angular2和Fabric.js中的属性范围

Javascript Angular2和Fabric.js中的属性范围,javascript,angular,fabricjs,Javascript,Angular,Fabricjs,在使用Angular2组件和Canvas(Fabric.js)时,我遇到了一些范围问题。假设我们有以下代码块: /简化示例/ export class SomeComponent { public foo: boolean; ngOnInit() { canvas.on('text:editing:entered': this.bar); } bar() { this.foo = true; console.l

在使用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
    }
}
嗯。以下是我的工作:

  • 加载组件后,我在画布对象上注册一个事件,因此当在IText上进入编辑模式时(我使用
    fabric.js
    ),它调用
    bar
    ,并将
    foo
    设置为
    true
  • 然后我点击键盘上的任意键来调用
    baz
    方法,令我惊讶的是
    foo
    未定义的
    这是怎么回事?有什么想法吗