如何在客户机上呈现来自HTTP GET的数据(使用Handlebars)

How do I render data from an HTTP GET on the client (with Handlebars)

本文关键字:数据 GET 使用 Handlebars HTTP 客户机      更新时间:2023-09-26

我有一个检索Google Books数据的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);
});

我如何去使结果在模板中可渲染(与把手)?

将结果放入一个响应变量中,例如在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>

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