QlikView过早运行BodyOnLoadFunctionNames回调 - 为什么?

时间:2013-05-06 13:47:16

标签: javascript qlikview

我在浏览器中遇到QlikView问题:我有一个列表框并尝试使用初始化脚本访问它。

使用BodyOnLoadFunctionNames函数使用var doc = Qv.GetCurrentDocument(); var listbox = doc.GetObject('LB01'); 参数注册脚本。到目前为止,这是有效的,初始化程序在启动时运行。

在初始化程序中,我尝试执行以下操作:

listbox.Type

之后,当我查看undefined时,不幸的是LB。如果我延迟执行此查询,它会正确显示{{1}},因此显然查询有效 - 但只有在执行延迟时才会执行。

所以,显然存在时间问题,似乎初始化程序运行得太早(或者我做错了)。

有人可以指出解决方案是什么(或者给我一个暗示我做错了什么)?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案:内部更新功能尚未运行,并且所有值仅在此功能运行后才可用,因此您需要提供对GetObject调用的回调(在更新函数之后调用):

var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01', function () {
  console.log(listbox.Type); // => 'LB'
});