我希望通过以下代码获得解决问题的帮助:我正在使用JavaScript开发Qlik sense扩展。我编写了函数GetCurrSelect,并且我希望它只有在我从paint函数调用它时才运行。但每次程序需要运行paint函数时,它都会首先运行GetCurrSelect函数,甚至多次运行。我试图添加条件if(a===1),但它没有帮助,即使没有调用它,程序也可以访问该函数。
这是我的代码:
define(["jquery", "qlik", "text!./Network_Diagram.css","./d3.min"], function($ , qlik, cssContent) {'use strict';
$("<style>").html(cssContent).appendTo("head");
qlikG=qlik.currApp();
function GetCurrSelect(a){
if(a===1)
{
try{
qlikG.getList('SelectionObject', function(reply){
alert("here!");
});
}
catch(err){
currSelectionNum=0;
}
}
}
return {
//....
paint : function($element,layout) {
GetCurrSelect(1);
}
//....谢谢!
发布于 2021-04-29 04:44:15
app.getList()未返回列表。它订阅列表的任何更改。
因此,每次列表更改时,都会执行回调。
如果你想避免这种情况,你需要在第一次获得值之后销毁list对象。
Qlik帮助:destroySessionObject()
https://stackoverflow.com/questions/67050780
复制相似问题