Как мы можем записать условие (я) в блоке If в экспресс-руле? - PullRequest
0 голосов
/ 18 октября 2018

Я использую руль Express, и я застрял в точке, чтобы сравнить значения в блоке IF ELSE. Есть ли встроенный помощник?Я потратил много времени, чтобы найти решение, но я этого не понял.Помощь будет оценена

1 Ответ

0 голосов
/ 18 октября 2018

Я исправил это.Ссылка:

https://code -maven.com / handlebars-conditionals

Решение: создать равное условие '==' между двумя значениямис помощью Экспресс-помощников выполните следующие действия.

1- Создайте помощников

hbs.js

module.exports = {

    if_eq: function(a, b, opts) {
        if (a == b) {
            return opts.fn(this);
        } else {
            return opts.inverse(this);
        }
    }
}

2- Зарегистрируйте этих помощников в app.js file

// Handlebars Helpers
const {
  if_eq
} = require('./helpers/hbs'); //path to hbs.js file

// Handlebars Middleware
app.engine('handlebars', exphbs({
   helpers: {
    if_eq:if_eq
  },
  defaultLayout: 'main'
}));

3- Используйте помощник if_eq в своем HTML-коде. Я использую для проверки переключателя, если пол «мужской» и похож на «женский».

    {{#if_eq idea.gender 'male'}}
            Female<input type="radio" class="form-control" name="gender" value="female">
            Male <input type="radio" class="form-control" name="gender" value="male" checked>
          {{else}}
            Female<input type="radio" class="form-control" name="gender" value="female" checked>
            Male <input type="radio" class="form-control" name="gender" value="male" >
{{/if_eq}}
...