2015-12-05 4 views
1

Я использую IBM Bluemix для создания веб-службы для школьного проекта.Как использовать Javascript-переменные в шаблоне Jade?

Мой проект должен запросить JSON из API, поэтому я могу использовать предоставленные им данные.

Я хочу, чтобы Jade Template записывал строки, используя данные, поступающие из API, но я не могу использовать переменные, определенные в файле .js.

Например, я хотел бы написать

«Ваш обменный курс» + CotacaoDolar

в h1 поле файла нефрита, будучи «CotacaoDolar» переменной, определенной в .js.

Как это можно сделать?

Вот мой .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"]; 
 
\t \t \t 
 
\t \t \t 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. 
 
    

ответ

3

Вам просто нужно пройти в объект w купив шаблон, содержащий ваши переменные. Затем значение доступно путем ссылки на ключ в вашем шаблоне Jade. Таким образом, чтобы отправить переменную «» CotacaoDolar вы бы передать объект как таковой:

res2.render('cotacao_response.jade', { 
    'CotacaoDolar': CotacaoDolar 
}); 

Затем в шаблоне Джейд вы можете создать h1, как:

h1 Your exchange rate is #{CotacaoDolar} 
Смежные вопросы