在把手中,是否有三元操作符?我不是指if else
;我的意思是像a == true ? "a" : "b"
。在handlebars.js中有三元运算符吗?
回答
你可以建立在handlbars了自己的助手,如果你真的想。像ternary(a==true, "a", "b")
。欲了解更多信息,请参阅documentation。从m90的想法不是手柄背后的想法。这个想法是在你的模板中没有显式的代码,只需要调用助手和对象。
像http://stackoverflow.com/q/29441130/770127 – ryanve 2015-04-06 18:44:14
的if
助手可以通过传递三个参数传递给它被用作三元运算符。
在以下示例中,按钮的默认值为"Save Changes"
,但当model.isSaving
为true时,则该值暂时更改为Saving...
。
<button>{{if model.isSaving "Saving..." "Save Changes"}}</button>
...或者,另一个助手中使用:
{{input type="submit" value=(if model.isSaving "Saving..." "Save Changes")}}
我对这个(注意,其他助手也可以内部使用) https://gist.github.com/terion-name/d87ed8907f1bb2e25f32
// app/helpers/iftrue.js
import Ember from 'ember';
export function iftrue(params) {
if (params[0]) {
return params.length === 2 ? params[0] : params[1];
}
if (params.length === 2) {
return params[1];
} else if (params.length === 3) {
return params[2];
}
return null;
}
export default Ember.Helper.helper(iftrue);
帮手
有两个参数:如果第一个参数的计算结果为true,则会打印,否则第二个参数
{{iftrue project.price 'N/A'}} // $9.99
{{iftrue project.priceNotAvailable 'N/A'}} // N/A
随着三个参数:如果第一参数评估为真第二将被打印,否则第三
// If deadline is set formatted date will be printed, otherwise 'N/A'
{{iftrue project.deadline (moment-format project.deadline 'DD.MM.YYYY') 'N/A'}}
虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/10731433) – 2015-12-30 22:05:43
@progressive_overload编辑,thanx – Terion 2015-12-30 22:59:17
这下面的代码可以用于三元或任何种类的表达的eval。
警告:请在eval可以安全使用的场景中使用此代码。
{{#if (myfunc "(a[0] + 1) % 2 === 0" arg1)}}
{{/if}}
{{#if (myfunc "(a[0] + a[1]) % 2 === 0" arg1 arg2)}}
{{/if}}
车把辅助函数
myfunc: (exp, ...a) => {
return eval(exp);
}
- 1. 三元运算符
- 2. 三元运算符在foreach
- 3. JavaScript中有更简单的三元运算符吗?
- 4. 三元运算符在php中?
- 5. 三元运算符作为C宏中三元运算符的操作数
- 6. &&使用三元运算符
- 7. 三元运算符连接
- 8. 关于三元运算符..!
- 9. java三元运算符
- 10. 三元运算符shorthands?和?:
- 11. 执行三元运算符
- 12. 可以在C++流中使用三元运算符吗?
- 13. 我可以在className的div中使用三元运算符吗?
- 14. 使用在三元运算符PHP
- 15. 三元运算符在Razor视图
- 16. Unterminated C:out标记在三元运算符
- 17. 在三元运算符内使用
- 18. C中的三元运算符#
- 19. erb中的Ruby三元运算符?
- 20. 三元运算符中的GridView
- 21. java vs c中的三元运算符
- 22. PowerShell中的三元运算符
- 23. python中三元运算符的缩写
- 24. 这与vb.net中的三元运算符类似吗?
- 25. integral_constants在三元运算
- 26. 三元运算符意外的T_DOUBLE_ARROW如果运算符
- 27. 是否有三元运算符不是某种形式的条件运算符
- 28. 在变量字符串中使用三元运算符
- 29. 如何在字符串中使用运算符三元组?
- 30. java - 使用三元运算符
把手只是JavaScript,因此三元运算符将工作就像在JavaScript中。 – m90 2012-08-11 15:26:41
您是否检查过官方网站:http://handlebarsjs.com/?它包含教程... – 2012-08-11 16:10:41
我检查了官方网站。但我没有看到三元运算器的解释。 – shawnXiao 2012-08-12 08:37:30