Я тоже дошел до этого несколько часов спустя. Я использую ReactiveVar и некоторые пакеты ReactiveArray. Работает отлично!
аюсь реализовать файловый браузер в Meteor. Пользователи могут просматривать некоторые сетевые папки и добавлять их в коллекцию для дальнейшей обработки.
Это мой простой шаблон, отображающий «..» и папки из данного каталога
<template name="folderBrowser">
<ul>
<li class="js-browseUp">..</li>
{{#each folder}}
<li class="js-selectFolder">{{.}}</li>
{{/each}}
</ul>
</template>
Серверный метод для получения содержимого папки
'displayFolderContent'(folderName) {
var folders = fs.readdirSync(folderName)
console.log(folderName +':'+ folders);
return folders;
}
И моя попытка (не работает). Я полагаю, что передаю функцию помощнику, а метод является асинхронным, поэтому я не могу напрямую передать «d», но не могу понять, как это решить.
Template.folderBrowser.helpers({
folder: function() {
Meteor.call('displayFolderContent', myFolder, function(e, d) {
console.log(d); // logs an array of folder content correctly into browser console
return d;
});
}
});