nodeJS, как использовать роутер, чтобы добавить значок тега в файл мопса? - PullRequest
0 голосов
/ 30 сентября 2018

Здравствуйте, я думаю, что проще показать частичные строки моего кода.
То, что я пытаюсь сделать, это когда я ввожу почтовый индекс, появится правая иконка.Я использую https://erikflowers.github.io/weather-icons/ этот мерзавец.
например: если погодные условия Нью-Йорка говорят, что ясные погодные условия в weather.pug должны быть такими, как i.wi.wi-night-sleet возможно ли добавить имя класса в теге icon из topic.js?
или я могу использовать равные выражения в pug flie, как - if text=='clear' i.wi.wi-night-sleet

topic.js

    router.post('/weather', function(req,res){
  let url = `http://api.openweathermap.org/data/2.5/weather?zip=${req.body.zipcode}&units=imperial&appid=${apiKey}`
  request(url, function (err, response, body) {
     if(err){
       res.status(500).send('Internal Server Error');
       console.log('error: ' ,err);

     } else {
       if(req.body.zipcode.length != 5) {
         res.render('topic/weather', {text: "Zipcode does not exist"})
       } else {
         let weather = JSON.parse(body)
         let temp = weather.main.temp
         let location = weather.name;
         let day_weather = weather.weather[0].main;
         let message = `It's ${weather.main.temp} degrees in ${weather.name}!`;



//below this I want to call icon tag that has a class name
              res.render('topic/weather', {text: location + " : " + day_weather, weatherCondition: `i.wi.wi-night-sleet`});

       }
     }

   });

})

weather.pug

extends ./homepage
block navigate
  div.container-fluid
    div.row.row-centered
      p= text
        //- space 넣을떄
        = "  "
        if text
          = date


      div.col-lg-6.col-centered
        form.form-group(action='/weather', method='post')
          p    
            input(type='text', class="form-control", id="zipcode",name='zipcode', placeholder='zipcode')
          p
            button(type='submit', class="btn btn-primary btn-lg" style='margin-right: 10px;') Login 

1 Ответ

0 голосов
/ 30 сентября 2018

В вашем маршруте просто передайте нужную часть нужного вам значка:

res.render('topic/weather', {text: location + " : " + day_weather, weatherCondition: "night-sleet"});

Тогда вот как должен выглядеть ваш шаблон мопса:

i.wi(class= 'wi-' + weatherCondition)

или

i(class= 'wi wi-' + weatherCondition)

Любая из этих строк мопса выдаст тот же html:

<i class="wi wi-night-sleet"></i>
...