我目前的任务是将外部JS小部件从另一个服务附加到Angular 2项目。这个小部件需要在全局范围内声明的params函数作为回调,它将返回数据。 我最好的想法是以角度2的方式来实现它是在类中描述函数(下面的代码)。
initWidget(){
window.widgetCallback = function(result){
this.deliveryPoint = result;
};
boxberry.open('widgetCallback', 'some', 'params');
}
此功能正常运行且 deliveryPoint 会收到所需数据,但当我在模板中调用 {{deliveryPoint}} 时,它没有任何绑定 - 变量未更新。
我该如何解决这个问题?
答案 0 :(得分:1)
很难从问题中看出问题是什么,但我认为使用()=>
代替function ()
可以解决您的问题:
constructor(private cdRef:ChangeDetectorRef) {}
initWidget(){
window.widgetCallback = (result) => {
this.deliveryPoint = result;
this.cdRef.detectChanges();
};
boxberry.open('widgetCallback', 'some', 'params');
}