Javascript Meteor中http调用后更新模板

Javascript Meteor中http调用后更新模板,javascript,api,http,meteor,Javascript,Api,Http,Meteor,我正在用Meteor制作一个新的应用程序,并试图获得一些公开的Github回购协议。我已经编写了这个调用方法元组: Meteor.call('getRepositories', function(error, results) { console.log(results); }); Meteor.methods({ getRepositories: function(user) { var response = Meteor.http .call('GET','ht

我正在用Meteor制作一个新的应用程序,并试图获得一些公开的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;
  }
});
问题是。。。如何实现使用存储库名称更新模板

谢谢

//您的_tmpl模板
{{{#每个回购协议} {{name}} {{/每个}} //js模板管理器 var reactivepos=新的ReactiveVar([]); 调用('getRepositories',函数(错误,结果){ reactiveRepos.set(结果);
); Template.your_tmpl.helpers({ repos:function(){ 返回reactiveRepos.get(); }
; //server.js 流星。方法({ getRepositories:函数(用户){ var response=Meteor.http .call('GET','https://api.github.com/users/{username}/repos'); 返回响应数据; } });
您可以使用ReactiveVar()包,它允许我们创建反应性变量并在反应性环境中使用它,就像助手一样。当然,您可能希望在模板内部使用它,例如onRendered或onCreated,并将其绑定到您的模板。

+1但最好在模板内部使用
reactiveRepos
var,这样在以相同方式创建和销毁模板时会创建它 // 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; } });