如何在LoadAssets中访问AssetLoadedFunc的属性?打字稿?Javascript?
我正在如何在LoadAssets中访问AssetLoadedFunc的属性?打字稿?Javascript?,javascript,angular,typescript,ecmascript-6,dom-events,Javascript,Angular,Typescript,Ecmascript 6,Dom Events,我正在LoadAssets(回调,用户数据) 错误类型错误:无法读取属性 错误类型错误:无法读取null的属性“AssetLoaded” 在AssetLoadedFunc(应用程序组件ts:540) 方法AssetLoadedFunc使用不同的执行上下文执行,无法使用this.AssetLoaded表达式访问AssetLoaded属性。您可以为AssetLoadedFunc绑定上下文,并使用如下代码: LoadAssets(callback, user_data) { this.gl
LoadAssets(回调,用户数据)
错误类型错误:无法读取属性
错误类型错误:无法读取null的属性“AssetLoaded”在AssetLoadedFunc(应用程序组件ts:540)
方法
AssetLoadedFunc
使用不同的执行上下文执行,无法使用this.AssetLoaded
表达式访问AssetLoaded
属性。您可以为AssetLoadedFunc绑定上下文,并使用如下代码:
LoadAssets(callback, user_data) {
this.glg.LoadWidgetFromURL("assets/Js/scrollbar_h.g", null,
this.AssetLoadedFunc.bind(this),
{
name: "scrollbar_h", callback: callback,
user_data: user_data
});
}
AssetLoaded: any = { num_loaded: null }
AssetLoadedFunc(glg_object, data) {
if (data.name == "scrollbar_h") {
if (glg_object != null)
glg_object.SetResourceObject("$config/GlgHScrollbar", glg_object);
}
else
console.error("Unexpected asset name");
if (!this.AssetLoaded.num_loaded )
this.AssetLoaded.num_loaded = 1;
else
++this.AssetLoaded.num_loaded;
}
AssetLoadedFunc需要两个参数,您没有传递它们。函数get called但AssetLoaded为null@ramesh您需要绑定上下文
this.AssetLoadedFunc.bind(this)
作为LoadWidgetFromURL方法的第三个参数
LoadAssets(callback, user_data) {
this.glg.LoadWidgetFromURL("assets/Js/scrollbar_h.g", null,
this.AssetLoadedFunc.bind(this),
{
name: "scrollbar_h", callback: callback,
user_data: user_data
});
}
AssetLoaded: any = { num_loaded: null }
AssetLoadedFunc(glg_object, data) {
if (data.name == "scrollbar_h") {
if (glg_object != null)
glg_object.SetResourceObject("$config/GlgHScrollbar", glg_object);
}
else
console.error("Unexpected asset name");
if (!this.AssetLoaded.num_loaded )
this.AssetLoaded.num_loaded = 1;
else
++this.AssetLoaded.num_loaded;
}