Bir üçüncü taraf widget'ını reaktif Meteor.Collection
ile eşitlemek için Deps.autorun
veya Collection.observe
arasındakiler arasındaki artı/eksiler nelerdir? Örneğin, MongoDB'mde sakladığım bir dizin ağacını görsel olarak göstermek için jsTree kullanıyorum. Bu kodu kullanıyorum o reaktif hale getirmek için:Meteor `Deps.autorun` vs` Collection.observe`
// automatically reload the fileTree if the data changes
FileTree.find().observeChanges({
added: function() {
$.jstree.reference('#fileTree').refresh();
},
changed: function() {
$.jstree.reference('#fileTree').refresh();
},
removed: function() {
$.jstree.reference('#fileTree').refresh();
}
});
böyle bir şey olmazdı bir Deps.autorun
çağrısı vs bu yöntemi kullanmanın artı/eksi nelerdir: (denenmemiş)
Deps.autorun(function() {
jsonData = FileTree.find().fetch();
$.jstree.reference('#fileTree')({'core': {'data': jsonData} });
});
Bu sadece bir örnektir. Bu özel kullanım durumu için değil, genel olarak artıları/eksileri soruyorum.
Diğer bir deyişle, "Tracker.autorun" bir bağımlılığı kaydedebilecek herhangi bir şeyle çalışır, ancak "Gözlem Değiştirme" yalnızca mongo imleçleriyle çalışan daha özel kancalardır. – BonsaiOak
@BonsaiOak Evet, Tracker.autorun, metodu ve gözlemlerinde kayıtlı her bağımlılık değişikliğinde tüm yöntemi yeniden çalıştıracak sihirli temsilcidir. Değişiklikler, belirli sorgulara yapılan veritabanı değişikliklerine çok özel javascriptey olay kancalarıdır – Akshat