Как заставить Meteor.Call возвращать значение для шаблона?

Я пытался понять этот пост, касающийся этой концепции, однако я не понял У меня есть следующая простая настройка:

/server/test.js
Meteor.methods({ 
  abc: function() {
    var result = {};
    result.foo = "Hello ";
    result.bar = "World!";
    return result;
  }
});

/client/myapp.js
var q = Meteor.call('abc');
console.log(q);

Эта структура возвращает в консоль undefined,

Если я изменю файл myapp.jsна:

Meteor.call('abc', function(err, data) {
  !err ? console.log(data) : console.log(err);
}

я получу Objectв моей консоли.

В идеале это то, что я хотел бы сделать, но это не работает, заявляя в консоли: Невозможно прочитать приветствие свойства undefined

/client/myapp.js
var q = Meteor.call('abc');

Template.hello.greeting = function() {
   return q.foo;
}

Будем очень признательны за любую помощь в передаче данных из объекта сервера в шаблон. Я все еще изучаю JavaScript и Meteor.

Спасибо!

41
задан Community 23 May 2017 в 10:30
поделиться