2014-09-18 16 views
5

Próbuję uchwycić bootstrap modalne otwierania/zamykania zdarzenia w js meteorów zrobić kilka kontroli niestandardowych. Wiem, jak to zrobić w jQuery:jak uchwycić bootstrap modalne otwierania/zamykania zdarzenia w meteor js

$('#videoCallModal').on('shown.bs.modal', function() { 
    // do something… 
}) 

ale ponieważ ja także chcę przekazać kontekst (ten obiekt), chcę to zrobić w Template.template.events.

Próbowałem coś takiego, ale funkcja nie została wywołana:

Template.videoCall.events = { 
    'on #videoCallModal shown.bs.modal': function(e){ 
     e.preventDefault(); 

     console.log("modal open", this); 
    } 
} 

Czy jest jakiś inny sposób, aby uchwycić zamknięciu/otwarciu modalnych w meteor js

Odpowiedz

12

Poprawna składnia jest następująca:

Template.videoCall.events({ 
    'shown.bs.modal #videoCallModal': function(e){ 
    /* ... */ 
    } 
}); 

Zobacz ten meteorpad.

4

stworzyłem peppelg:bootstrap-3-modal aby zapewnić prostą sposób obsługi modals w Meteor. Dzięki niemu można użyć created i destroyed zwrotnych (podobnie jak twój używane w Meteor!), Zamiast otwartych i zamkniętych imprez.

+0

Nie będzie to działać dla wersji poniżej 0.9.0? Nie przeniosłem jeszcze mojego kodu do wersji 0.9.0. –

+0

@AashuAgarwal, przepraszam, ale nie możesz zainstalować pakietu, chyba że używasz wersji 0.9.1.1 lub nowszej. Jednak nie jest to skomplikowane pakiet, po prostu kopiując [plik HTML] (https://github.com/PeppeL-G/bootstrap-3-modal/blob/master/main.html) i [plik JavaScript] (https : //github.com/PeppeL-G/bootstrap-3-modal/blob/master/main.js) do projektu meteorytów mogą działać, w zależności od wersji Meteor używasz. Jedyne, na co możesz mieć problemy to 'UI.dynamic',' Blaze.renderWithData' i 'Blaze.remove' (w zależności od twojej wersji Meteor). –

+0

po wypróbowaniu tak wiele różnych pakietów dla czasowniki modalne meteor boostrap peppelg: bootstrap-3-modal zakończył się najprostsze w użyciu. świetna robota – MurWade

Powiązane problemy