javascript - 在 Meteor 中调用 http 后更新模板

标签 javascript api http meteor

我正在使用 Meteor 制作一个新应用程序,并且我正在尝试获取一些公共(public) Github 存储库。我写了这个调用方法元组:

Meteor.call('getRepositories', function(error, results) {
  console.log(results);
});

Meteor.methods({
  getRepositories: function(user) {
    var response = Meteor.http
      .call('GET','https://api.github.com/users/{username}/repos');
    return response.data;
  }
});

问题是...我怎样才能用存储库名称更新模板?

谢谢!

最佳答案

// your_tmpl template 
{{#each repos}} {{name}} {{/each}} // js template manager var reactiveRepos = new ReactiveVar([]); Meteor.call('getRepositories', function(error, results) { reactiveRepos.set(results);
}); Template.your_tmpl.helpers({ repos: function() { return reactiveRepos.get(); }
}); // server.js Meteor.methods({ getRepositories: function(user) { var response = Meteor.http .call('GET','https://api.github.com/users/{username}/repos'); return response.data; } });

你可以使用 ReactiveVar ( http://docs.meteor.com/#/full/reactivevar_pkg ) 包,它允许我们创建 react 变量并在 react 环境中使用它,比如助手。当然,您可能希望在模板钩子(Hook)中使用它,例如 onRendered 或 onCreated,并将其绑定(bind)到您的模板。

关于javascript - 在 Meteor 中调用 http 后更新模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692800/

相关文章:

javascript - 即使在运行验证时如何保持 ng-model 值?

javascript倒数计时器暂停恢复

javascript - 表单提交后保留 div 值

api - Yelp API 来源 http ://localhost:8888 is not allowed by Access-Control-Allow-Origin

java - 是否可以找到所有可用的 EntityManager 属性?

http - 将数据从设备发送到服务器的最佳方法是什么

c# - 在运行时更改 CSS 中的值(特别是 .Net)

javascript - 如何创建一个 html 输入文本区域,以便我可以在某些单词下划线或设置格式?

java - 使用 Swagger-UI @ApiParam 注释 @FormParam 字段

http - 当我尝试访问 ssl.conf 文件时服务器停止工作