脚本中的条件。在玉
Conditionals within script. in jade
在 Jade 中,是否可以在动态脚本部分创建条件 if 语句?
例如:
doctype html
html
head
script.
-if( locals.display_JS )
console.log("Display_JS is TRUE")
-else
console.log("Display_JS is FALSE")
(locals.display_JS 是在 res.render 中传递给 Jade 的参数。)
如果 display_JS 为真,所需的输出应如下所示:
<script ...>console.log("Display_JS is TRUE")</script>
然而输出是:
<script>
-if( locals.display_JS )
console.log("Display_JS is TRUE")
-else
console.log("Display_JS is FALSE")
</script>
可能是我想错了。我的 objective 是根据发送给 res.render 的参数呈现不同的 javascript 函数。
Jade 不会混淆脚本块中的任何内容。如果你真的需要在脚本块中使用 jade 逻辑,你可以做一些像这样的事情:
路由器代码:
router.get('/', function(req, res){
res.render('index', {run_this:true});
});
翡翠代码:
div
| <script type='text/javascript'>
if(run_this)
| console.log("Ran this!");
else
| console.log("Didn't run this");
| </script>
另一种 运行 基于脚本标签内的 jade 变量逻辑的方法是做这样的事情:
script.
if(!{run_this}){
console.log("Ran This!");
}
也可以换一种方式,使用 .每当你想嵌套 javascript 代码时。
doctype html
html
head
script
if( locals.display_JS )
.
/** Some JS code **/
console.log("Display_JS is TRUE")
else
.
console.log("Display_JS is FALSE")
当您使用script.
时,jade 会将后面的所有内容解释为纯文本。如果您需要混合标记和纯文本,您可以使用 |
。例如:
script
| function bar(){
if(true)
| console.log("Ran this")
else
| console.log("Don't run this")
| }
在 Jade 中,是否可以在动态脚本部分创建条件 if 语句?
例如:
doctype html
html
head
script.
-if( locals.display_JS )
console.log("Display_JS is TRUE")
-else
console.log("Display_JS is FALSE")
(locals.display_JS 是在 res.render 中传递给 Jade 的参数。)
如果 display_JS 为真,所需的输出应如下所示:
<script ...>console.log("Display_JS is TRUE")</script>
然而输出是:
<script>
-if( locals.display_JS )
console.log("Display_JS is TRUE")
-else
console.log("Display_JS is FALSE")
</script>
可能是我想错了。我的 objective 是根据发送给 res.render 的参数呈现不同的 javascript 函数。
Jade 不会混淆脚本块中的任何内容。如果你真的需要在脚本块中使用 jade 逻辑,你可以做一些像这样的事情:
路由器代码:
router.get('/', function(req, res){
res.render('index', {run_this:true});
});
翡翠代码:
div
| <script type='text/javascript'>
if(run_this)
| console.log("Ran this!");
else
| console.log("Didn't run this");
| </script>
另一种 运行 基于脚本标签内的 jade 变量逻辑的方法是做这样的事情:
script.
if(!{run_this}){
console.log("Ran This!");
}
也可以换一种方式,使用 .每当你想嵌套 javascript 代码时。
doctype html
html
head
script
if( locals.display_JS )
.
/** Some JS code **/
console.log("Display_JS is TRUE")
else
.
console.log("Display_JS is FALSE")
当您使用script.
时,jade 会将后面的所有内容解释为纯文本。如果您需要混合标记和纯文本,您可以使用 |
。例如:
script
| function bar(){
if(true)
| console.log("Ran this")
else
| console.log("Don't run this")
| }