作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用从远程 api 获取的数据呈现简单的静态页面。例如,我想渲染一个带有天气预报的页面,这是我从外部服务获得的。但它不起作用。
Template.myStaticPage.content = function(){
Meteor.http('GET', 'http://someurl.com/api/weather', function(err, res){
if(res){return res};
})
}
因此,页面上什么也没有显示。如何在没有任何反应性上下文(如 mongo 集合或 session )的情况下将数据传递到模板?
最佳答案
使用 Session
中继数据:http://docs.meteor.com/#session
Template.myStaticPage.content = function(){
return Session.get("weather");
}
//Will run when the template is created
Template.myStaticPage.created = function() {
Meteor.http('GET', 'http://someurl.com/api/weather', function(err, res){
if(res){Session.set("weather", res);};
});
}
你需要小心 javascript 中的回调,当你使用回调时,return 语句不会传递给原始 function
,因为回调使其异步
关于javascript - 如何在 Meteor 中呈现带有预定义数据的静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17073731/
我是一名优秀的程序员,十分优秀!