与angularjs 2中的addListener进行双向绑定

时间:2016-10-15 10:05:28

标签: angular typescript

我无法绑定全局变量。

这是我的代码。

mxEvent.addListener(img, 'click',
            mxUtils.bind(this, function(evt:any) {
                this.enableRightSideBar = true;
                console.log(this.enableRightSideBar);
            }.bind(this))
        )

console.log(this.enableRightSideBar, 'this.enableRightSideBar');

告诉我“真实”,但它没有反映在html上。

请帮帮我。

1 个答案:

答案 0 :(得分:2)

您的问题中没有太多信息,但我想这就是您需要做的事情:

mxEvent.addListener(img, 'click', (event:any) => { this.enableRightSideBar = true; })

<强>更新

看起来这个回调是在angular zone之外触发的,所以你可以使用ChangeDetectorRef来刷新视图:

constructor(private cdRef: ChangeDetectorRef) {}

...
this.enableRightSideBar = true; 
this.cdRef.detectChanges();