如何在客户端上使用HTTP GET呈现数据(使用Handlebars)

时间:2014-06-25 12:46:23

标签: javascript meteor handlebars.js

我有一个检索Google图书数据的Meteor方法

searchBooks: function (query) {
  this.unblock();
  return Meteor.http.call("GET", "https://www.googleapis.com/books/v1/volumes?q=" + query);
}

就像这样被称为

Meteor.call("searchBooks", term, function(error, results) {
    console.log(results.content);
});

如何在模板(带把手)中渲染结果?

1 个答案:

答案 0 :(得分:1)

将结果放入反应变量中,例如在Session:

Meteor.call("searchBooks", term, function(error, results) {
    Session.set('books', results.content);
});

在模板助手中返回此变量:

Template.booksView.helpers({
  books: function() {return Session.get('books');}
});

然后,在模板中使用双括号表示常用文本,使用三重括号表示html:

<Template name='booksView'>
  {{{books}}}
</Template>

您可能必须根据其格式和输出要求来解析或迭代数据。