代码之家  ›  专栏  ›  技术社区  ›  jacobdo

如何防止模板文本中的条件呈现为false

  •  0
  • jacobdo  · 技术社区  · 7 年前

    我有以下模板文本

    `<div class="date ${($.inArray(date, dates) == -1) && `outside`}">
         <div>${date.format('D')}</div>
     </div>`
    

    当表达式 ($.inArray(date, dates) == -1) 计算结果为true,则显示外部类,而不显示其他任何内容,但是,当计算结果为false时,由于 ${($.inArray(date, dates) == -1) && 外部 } .

    如何避免输出错误?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Nisarg Shah    7 年前

    你可以用三元 conditional operator : condition ? valueWhenTrue : valueWhenFalse :

    `<div class="date ${($.inArray(date, dates) == -1) ? `outside` : ``}">
        <div>${date.format('D')}</div>
    </div>`
    
        2
  •  1
  •   Máté Safranka    7 年前

    三元运算符:

    ($.inArray(date, dates) == -1) ? 'outside' : ''
    

    回退到空字符串:

    ($.inArray(date, dates) == -1) && 'outside' || ''