javascript - 如何在下划线模板中添加else语句

标签 javascript backbone.js underscore.js underscore.js-templating

我有以下代码:

var c = 'Credits: <% if (credits) { %> <%= credits %> <% } %> <% else  { %> N/A <% } %>'

但是我得到Unexpected token elseelse 语句与添加 if 语句的方式是否不同?上面正确的应该是什么?

最佳答案

只需删除 %> <%之间}else 。像这样:

var c = 'Credits: <% if (credits) { %> <%= credits %> <% } else { %> N/A <% } %>';

或者,ternary operator是我的最爱之一:

var c = 'Credits: <%= credits ? credits : "N/A" %>';

如果不清楚,三元基本上是一个简化的 if/else 语句。 ?之前的部分是正在评估真实性的表达式。如果是真的,则 ? 之间的中间部分和:被执行,但如果是 falsey,则 : 之后的最后一部分而是执行。

关于javascript - 如何在下划线模板中添加else语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808692/

相关文章:

javascript - 相邻的 JSX 元素必须包含在带有换行标记的封闭标记中

javascript - 下划线上的 max 函数实现

javascript - ReactJS 未捕获类型错误 : Cannot read property 'target' of undefined

c# - 将 Parse Cloud Code 与 .NET SDK 结合使用

javascript - 是否可以从 JavaScript 动态创建 Firebase 实时数据库并获取其 API key ?

Backbone.js 使路由器 seo 友好

javascript - Backbone 不触发事件

javascript - 如何在 Javascript 中使用 takeWhile 函数?

javascript - 为什么是 "constructor is a special case"?

javascript - 如何循环遍历单选/复选框输入并将所选输入的 id 推送到数组