Meteor `Deps.autorun` vs` Collection.observe`
Was sind die Vor- / Nachteile zwischen der Verwendung vonDeps.autorun
oderCollection.observe
um ein Drittanbieter-Widget mit einem reaktiven @ synchron zu haltMeteor.Collection
.
Zum Beispiel verwende ich jsTree, um einen Verzeichnisbaum, den ich in meiner MongoDB gespeichert habe, visuell anzuzeigen. Ich verwende diesen Code, um es reaktiv zu machen:
// 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();
}
});
Was sind die Vor- / Nachteile dieser Methode im Vergleich zu einemDeps.autorun
call das würde ungefähr so aussehen: (ungetestet)
Deps.autorun(function() {
jsonData = FileTree.find().fetch();
$.jstree.reference('#fileTree')({'core': {'data': jsonData} });
});
Dies ist nur ein Beispiel. Ich frage allgemein nach den Vor- und Nachteilen, nicht für diesen speziellen Anwendungsfall.