如何在模板字符串中使用_or_ condition?

时间:2017-05-03 14:11:33

标签: javascript html template-strings

我正在使用node.js创建一个项目。我正在使用yo-yo库来创建html模板。

我想从tweet用户profile_banner_url添加封面。

像这样:

const yo = require('yo-yo')
module.exports = function (tweet) {
  return yo`
    <div class='cover'>
      <img src='${tweet.user.profile_banner_url}' />
    </div>
  `
}

但是,有时推文不会返回任何 profile_banner_url ,这会在浏览器中出错。

我尝试在public目录中添加不同的图片:

<img src='${tweet.user.profile_banner_url} || otherimg.jpg' />

但它不起作用。

在模板字符串中使用or条件的最佳方法是什么?

2 个答案:

答案 0 :(得分:7)

您正在寻找

`<div class='cover'>
  <img src='${tweet.user.profile_banner_url || 'otherimg.jpg'}' />
</div>`

请注意${ ... }中的部分只是一个常规的javascript表达式。

答案 1 :(得分:0)

我为我的案件找到了解决方案

`<input class="range-slider__slider" type="range" ${ ( (inputType) => {
                  if(inputType == 'temperature')
                    return 'min="-10" max="30" value="23" data-type="' + inputType +'"';
                  else if(inputType == 'light')
                    return 'min="0" max="1000" value="300" data-type="' + inputType +'"';
                  else if(inputType == 'floor')
                    return 'input(type="range" min="0" max="30" value="23" data-type="' + inputType + '"';
                  else
                    return ''
                } )(inputType)}">`