首先感到抱歉,如果这个问题已经在某个地方问过了,但在谷歌上几个小时后我仍然无法找到答案。Liferay IPC监听器多次运行
我在portlet开发方面很新颖(但是我们缺乏开发人员,所以我不得不随时使用它),所以解决方案可能是微不足道的,但我真的没有足够的经验它。
的问题是我有一个页面上的两个portlet和我设法让他们一知道在其他的变化。为此,我使用IPC。在第一个我有一个Liferay.fire功能:
function fire(key,value){
Liferay.fire(
'category',{
id: key,
name: value
}
);
}
在另外我有一个Liferay.on('category',function(category){...})
函数里面调用Ajax和一些渲染方法。
现在,如果我访问所提及的页面并单击相应的按钮,首先一切正常。但是,如果我从此页面导航并返回,则侦听器将运行两次。再次导航 - >三次。等等......但如果我重新加载页面(使用F5或CTRL + F5),它会重新开始,所以直到进一步导航时,侦听器才会运行一次。
另一个奇怪的是无论多少次的函数运行,输入参数是每个都一样。
例如,如果我已经离开了页面,又回到它3次,也是最后一次,我选择了与类别“ID = 1”,则该函数将与“ID = 1”运行3次。现在,如果我选择'id = 2',它将以'id = 2'运行3次。
如果有人有任何想法,我会非常感激,因为我被困在将近一天了。
非常感谢您提前,并请让我知道如果您需要任何进一步的信息。
你可能想补充一点,你与 –
工作(精确)Liferay的版本当然,对不起...我们使用7.x(7.0.2)。 –