在Jade条件语句中使用小写

时间:2016-07-25 20:50:36

标签: javascript node.js pug

我想知道如何在Jade模板中小写条件语句中的值。下面的代码产生错误:

if type.toUpperCase() =="S"
  .name.left=person.fullName         
else
  .name.left=person.shortName

谢谢

1 个答案:

答案 0 :(得分:0)

使用Jade / Pug条件中的函数不起作用。它应始终为if myVar == 'myCondition'

如果你想在jade / pug条件中使用函数或其他东西,你应该首先准备你的变量。 通过引导带有减号-的新行,您可以在JADE / PUG中编写常规JavaScript。这为您提供了解决几乎所有问题的强大武器。 例如,你想根据你的情况检查一个大写字符串,你应该这样做:

- var string = 'myString'
- var myUppercaseString = string.toUpperCase()
if myUppercaseString == 'myCondition'
   // Do stuff if condition is met
else
   // Do stuff if condition isn't met

在你的情况下它应该是这样的:

-  var person = {
-    fullName: 'Hans Dieter Müller',
-    shortName: 'Hansi'
-  }
-  var type = 's'
-  var type1 = type.toUpperCase()

if type =="S"
  .name.left=person.fullName         
else
  .name.left=person.shortName

if type1 =="S"
  .name.left=person.fullName         
else
  .name.left=person.shortName

以下是一个工作示例:http://codepen.io/pure180/pen/oLdVzg