Meteor アプリで、コレクション要素に編集機能を作成しました。したがって、すべての要素に 2 つの状態があります。通常のビューと編集フォーム。これら 2 つの状態を切り替えるには、jQuery を使用して優れたスライダー効果を実現しました。
Template.bookings.events
'click .edit-booking': (event) ->
event.preventDefault()
bookingId = event.currentTarget.dataset.booking
$('#booking-' + bookingId + '-data').slideToggle('slow')
$('#booking-' + bookingId + '-form').slideToggle('slow')
これはうまくいきます。しかし、更新のコールバック関数でフォームを再度閉じようとすると、問題が発生します。
Meteor.call('updateBooking', {id: id, title: title, hours: hours},
(error, booking) ->
unless error
$.bootstrapGrowl "saved successfully", {align: 'center', type: 'success'}
$('#booking-' + id + '-data').slideToggle('fast')
$('#booking-' + id + '-form').slideToggle('fast')
booking
else
$.bootstrapGrowl error.message, {align: 'center', type: 'error'}
error
)
どういうわけか、テンプレートのリアクティブ リフレッシュは jquery イベントを停止しますが、これを実装する方法がわかりません。フォームが一瞬閉じてから再び開きます:) bootsrtapGrowl は正常に動作します。
誰でも私にヒントを与えることができますか?どうもありがとう。マーカス