Jestem całkiem nowy z Meteorem, ale naprawdę mi się to podobało i jest to moja pierwsza reaktywna aplikacja, którą buduję.Meteor: Ukryj lub usuń element? Jaki jest najlepszy sposób
Chciałbym wiedzieć, w jaki sposób mogę usunąć element .main
, gdy użytkownik kliknie, czy może lepszym sposobem będzie usunięcie istniejącego szablonu (z główną treścią), a następnie zastąpienie go innym szablonem meteorowym? Coś takiego byłoby proste i proste w aplikacji html/js (kliknięcia użytkownika-> usuń el z dom), ale tutaj nie jest to aż tak jasne.
Po prostu chcę się nauczyć i uzyskać wgląd w najlepsze praktyki.
//gallery.html
<template name="gallery">
<div class="main">First run info.... Only on first visit should user see this info.</div>
<div id="gallery">
<img src="{{selectedPhoto.url}}">
</div>
</template>
//gallery.js
firstRun = true;
Template.gallery.events({
'click .main' : function(){
$(".main").fadeOut();
firstRun = false;
}
})
if (Meteor.isClient) {
function showSelectedPhoto(photo){
var container = $('#gallery');
container.fadeOut(1000, function(){
Session.set('selectedPhoto', photo);
Template.gallery.rendered = function(){
var $gallery = $(this.lastNode);
if(!firstRun){
$(".main").css({display:"none"});
console.log("not");
}
setTimeout(function(){
$gallery.fadeIn(1000);
}, 1000)
}
});
}
Deps.autorun(function(){
selectedPhoto = Photos.findOne({active : true});
showSelectedPhoto(selectedPhoto);
});
Meteor.setInterval(function(){
selectedPhoto = Session.get('selectedPhoto');
//some selections happen here for getting photos.
Photos.update({_id: selectedPhoto._id}, { $set: { active: false } });
Photos.update({_id: newPhoto._id}, { $set: { active: true } });
}, 10000);
}
Dziękuję bardzo. Ma to pełny sens i jest zgodne z tym, jak piszę resztę aplikacji. Jeszcze raz dziękuję za odpowiedź i przykład! – jeffreynolte
z przyjemnością pomogę Ci :-) –
Hej Gorb - Uczę się Meteera dla nowego projektu, a to jest naprawdę pomocne! Dzięki! –