我正在使用 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/