如何在Jade模板中使用Javascriptvariables?
我正在使用IBM Bluemix为学校项目制作Web服务。
我的项目需要从API请求一个JSON,所以我可以使用它提供的数据。
我希望Jade模板使用来自API的数据编写string,但是我不能使用我的.js文件中定义的variables。
例如,我想写
“您的汇率是”+ CotacaoDolar
在jade文件的h1字段中,是“CotacaoDolar”.js文件中定义的一个variables。
这怎么可能呢?
这是我的.js文件:
/*eslint-env node*/ //------------------------------------------------------------------------------ // node.js starter application for Bluemix //------------------------------------------------------------------------------ // HTTP request - duas alternativas var http = require('http'); var request = require('request'); // cfenv provides access to your Cloud Foundry environment // for more info, see: https://www.npmjs.com/package/cfenv var cfenv = require('cfenv'); //chama o express, que abre o servidor var express = require('express'); // create a new express server var app = express(); // serve the files out of ./public as our main files app.use(express.static(__dirname + '/public')); // get the app environment from Cloud Foundry var appEnv = cfenv.getAppEnv(); // start server on the specified port and binding host app.listen(appEnv.port, '0.0.0.0', function() { // print a message when the server starts listening console.log("server starting on " + appEnv.url); }); app.get('/home1', function (req,res) { http.get('http://developers.agenciaideias.com.br/cotacoes/json', function (res2) { var body = ''; res2.on('data', function (chunk) { body += chunk; }); res2.on('end', function () { var json = JSON.parse(body); var cotacao = json["bovespa"]["cotacao"]; var CotacaoDolar = json["dolar"]["cotacao"]; var VariacaoDolar = json["dolar"]["variacao"]; var CotacaoEuro = json["euro"]["cotacao"]; var VariacaoEuro = json["euro"]["variacao"]; var Atualizacao = json["atualizacao"]; res.render('cotacao_response.jade', { message: 'A taxa de câmbio é de '+CotacaoDolar+' R$.Esse valor corresponde ao preço de venda em '+Atualizacao }); }); }); });
这是我的.jade文件:
doctype html html(lang="en") head title Cotação link(rel='stylesheet',href='stylesheets/style.css') body h1!=message #container.col p Seu câmbio foi. p.
在渲染包含variables的模板时,您只需传入一个对象即可。 这个值可以通过引用Jade模板中的键来访问。 所以要发送你的variables“CotacaoDolar”,你可以传入这个对象:
res2.render('cotacao_response.jade', { 'CotacaoDolar': CotacaoDolar });
然后在你的Jade模板中,你可以创build如下的h1:
h1 Your exchange rate is #{CotacaoDolar}
- 在MongoDB和Mongoose中执行全文search的最佳方法
- 将一个variables从javascript传递给ejs
- Node.js表示应用程序caching/缓慢页面加载(swig模板引擎)
- 使用Express的Nodejs – 将mongoDB和mongoose添加到package.json并运行npm install时出错
- Shopify应用程序开发与节点的任何教程或指南?
- 用mongoose,express和node.jssearch表单 错误:发送后无法设置标题
- 不活动后自动从simple-ember-auth / oauth2-server注销
- 我应该学习Express.js还是Sails.js?
- 设置代理服务器创build反应的应用程序