我有一个具有多个属性的对象,即propA、propB propC和propD。我想写一个条件,或者检查多个参数,如下所示。
{@if cond="'{obj.propA}'.length >0/if '{obj.propB}'.length >0.length> '{obj.propC}'.length> 0} . {/if}
现在,既然@if在尘埃中被废弃了,我如何用eq或select写一个等价的。或者,是否有一个新的助手,我可以利用这样的情况。
发布于 2015-10-27 17:15:27
我假设你测试的道具是字符串。
此示例需要>= 1.6中的灰尘助手。
您可以使用@rragan中提到的{@any}和{@none}助手,如下所示:
{@select}
{@ne key=obj.propA value="" /}
{@ne key=obj.propB value="" /}
{@ne key=obj.propC value="" /}
{@any}At least one of the above tests was true. At least one prop is not an empty string.{/any}
{@none}None of the tests above passed. All the props are empty{/none}
{/select}发布于 2015-10-27 15:07:04
select最近用@any和@none扩展,使您可以执行多个或多个逻辑。请注意,.length只起作用,因为废弃的@if使用eval。灰尘测试使用存在/不存在,所以我认为你可以避免使用.length。
如果您仍然喜欢@ If,请参阅https://github.com/rragan/dust-motes/tree/master/src/helpers/control/if,以获得它的解释性版本,该版本不使用eval。
https://stackoverflow.com/questions/33360002
复制相似问题