首先感到抱歉,如果這個問題已經在某個地方問過了,但在谷歌上幾個小時後我仍然無法找到答案。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)。 –