if 判断中无法使用 helper/function
比如判断一个字符串trim之后是否为空,然后再考虑是否输出:
{{if someStr | trim}}
<div>{{someStr | trim}}</div>
{{/if}}
这样写 if 永远为 false 不会输出任何内容, 改为 {{if trim(someStr)}} 则会报错, 所以这种需求如何实现呢?
三元表达式可以解决问题吗
@aui 我正遇到这个问题,尝试过三元表达式,不清楚这种写法对不对:
{{ someStr | trim ? 'aaa' : 'bbb' }}
这种情况下,调试时,trim函数并没有进去,页面直接输出'aaa'
如果加了括号:
{{ (someStr | trim) ? 'aaa' : 'bbb' }}
调试时,trim函数进去了,但是someStr却是undefined
所以我感觉是在语法规则上有些条件限制之类的
请问一下,这种情况下有没有什么解决思路,谢谢
@lrbmike 过滤器语法输出文本,不能用做运算, 你只能在trim 函数里面做运算,然后return出来显示。
@mcclcm 所以我感觉过滤器只能够输出内容到页面,而使用了过滤器就不能够再做其他的操作,例如if判断等。甚至return出来的值也不能够赋值到一个变量。
同情况,有的时候需要做了运算再用if 可是{{if}}并不支持 永远false