如果这看起来很蠢,请原谅我,因为它肯定看起来很蠢。

我正在处理基本上像这样的其他人的代码:

{@select key=name}
    {@eq value="Alice"}
    {@eq value="ALICE"}
    {@eq value="alice"}
    {@any} Your name is Alice! {/any}
    {@none} Your name isn't Alice! {/none}
{/select}


有什么方法可以整合那些非常相似的{@eq}语句?

并发症:


这些值来自客户填充的数据库。我无法在该位置与到达模板的时间之间进行清理。
我不容易添加支持助手来处理不区分大小写的问题。有可能,但是我希望语言本身首先有解决方案。

最佳答案

经过团队的讨论,最好的方法似乎是添加一个除尘器而不是一个帮助器。这样的事情可以添加到全局的尘埃中:

dust.filters.lc = function lowercaseFilter(str) {
  if (typeof str === 'string') {
    return str.toLowerCase();
  }
  return str;
};


然后,您可以执行以下操作:

{@eq key="{name|lc}" value="alice"}Your name is most definitely Alice.{/eq}

关于javascript - 如何在Dust.js中检查不区分大小写的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35438743/

10-13 08:10