在我的有角度的应用程序中,我正在使用一个框架来动态呈现html。我将调用以下方法来呈现html
Presto.layout(layoutJson, contentJson , document.getElementById('contentArea'), this.callbackFunction);
这将获取contentJson
并按照layoutJson
构建html并注入contentArea
div中。
渲染完成后,callbackFunction
将被触发。
问题
public callbackFunction(callbackID) {
this.anotherFunction(); // This will not work as the `this` is replaced with another object.
}
该组件中的所有功能都无法在回调函数中使用。回调函数中的this
对象包含与Presto js
关联的数据。我可以在全局范围内保存旧的this
并将其保存在回调函数中。
答案 0 :(得分:1)
问题在于callBack函数中缺少“绑定”,因此请尝试以下操作:
Presto.layout(layoutJson, contentJson , document.getElementById('contentArea'), this.callbackFunction.bind(this));