2016-02-16 50 views
1

當我在同一頁面中使用多個甜蜜警報時,它總是調用第一個回調。多個甜蜜警報始終執行第一個確認回調

我解釋一下:

我有一個按鈕發送成爲好友請求「掛起/取消」按鈕,單擊

{{#if addFriend}} 
    <li>{{> addFriendBtn user=usr}}</li> 
{{/if}} 
{{#if pending}} 
    <li>{{> pendingFriendBtn user=usr}}</li> 
{{/if}} 

後每個BTN具有click事件調用甜警報:

Template.addFriendBtn.events({ 
'click .add-friend': function (evt,tpl) { 
     console.log('inside click .add-friend...'); 
     const options = { 
      title: "Friend request", 
      showCancelButton: true, 
      confirmButtonText: "Oui", 
      closeOnConfirm: true, 
      closeOnCancel:true, 
      allowOutsideClick: false, 
      allowEscapeKey:true 
     }; 

     swal(options, function() { 
      console.log("Inside add-friend confirmation swal..."); 
      Meteor.call('sendFriendRequest', tpl.data.user); 
     }); 
    } 
}); 

Template.pendingFriendBtn.events({ 
    'click .cancel-request': function (evt, tpl) { 
     console.log('inside click .cancel-request'); 
     const options = { 
        title: "Confirmation", 
        showCancelButton: true, 
        closeOnConfirm: true, 
        closeOnCancel:true, 
        allowOutsideClick: false, 
        allowEscapeKey:true 
       }; 

     swal(options, function(){ 
      console.log("inside cancel-request confirmation swal..."); 
      Meteor.call('cancelFriendRequest', tpl.data.user); 
     }); 

    } 
}); 

Meteor.methods({ 
    sendFriendRequest: function (recipient) { 
    console.log('Inside sendFriendRequest...'); 
    ... 
    }, 

    cancelFriendRequest: function (recipient) { 
    console.log('Inside cancelFriendRequest ...'); 
    .... 
    } 
}); 

當我第一次點擊「添加朋友」按鈕時,它工作正常。我收到了甜蜜的警報,確認後,我的回調正確完成,並且按鈕變爲「待處理/取消」按鈕。

當我點擊這個「待定/取消」按鈕取消我的好友請求時,我得到正確的甜蜜警報,但是當我確認時,它會爲第一個按鈕「添加好友」執行回調「sendFriendRequest」 。

我不明白爲什麼它的行爲是這樣的...對這個問題有什麼想法?提前致謝。

UPDATE:添加日誌後

首先點擊:添加好友:

客戶端日誌:

內點擊。新增-朋友......

裏面添加 - 朋友確認swal ...

服務器日誌:

裏面sendFriendRequest ...

第二點擊:取消待處理的請求:

客戶端日誌

點擊.cancel請求裏面

裏面加友好確認swal ...

服務器日誌:在您的SwaI位配置錯誤:

裏面sendFriendRequest ...

+0

添加一些控制檯日誌:首先在您的.add-friend事件中,第二個在.ca​​ncel-request事件中,第三個在您的sendFriendRequest回調中,最後在您的cancelFriendRequest回調中。確保正確的代碼路徑實際上正在執行。 –

+0

我按照你的建議添加了日誌(編輯過的問題),並得到以下結果:**第一次點擊:添加朋友:** _客戶日誌:_ 裏面點擊。好友添加... 內好友添加確認SwaI位... _SERVER日誌:_ 裏面sendFriendRequest ... **第二次點擊:取消待處理的請求:** _client logs_ 點擊.cancel請求 內內添加朋友確認swal ... _Server日誌:_ 裏面sendFriendRequest ... –

+0

嗨,你有沒有解決這個問題?如果是,如何?我有同樣的問題。 – ickyrr

回答

相關問題