我正在使用dust.js来呈现有时长且包含下划线的变量名列表:
SUM_COUNT_LABOR_COUNTRIES_SMS_PAST
浏览器不会对下划线进行换行,因此它可能会变得难看。我希望我的灰尘模板在每个下划线后添加零宽度空间,以便浏览器可以包装它。这肯定属于模板层而不是模型,但我无法弄清楚如何使用dust.js正确实现这一点,而且它是将表示与逻辑分离的非常好的原则。
我是否创建了“助手”功能?我在哪里放置辅助功能? 如何从模板中调用它?
答案 0 :(得分:10)
dust.filters = {
h: function(value) { return dust.escapeHtml(value); },
j: function(value) { return dust.escapeJs(value); },
u: encodeURI,
uc: encodeURIComponent,
js: function(value) { if (!JSON) { return value; } return JSON.stringify(value); },
jp: function(value) { if (!JSON) { return value; } return JSON.parse(value); }
};
所以你要做的就是为它添加另一个过滤变量的键值。例如如果你使用下划线:
_.extend(dust.filters, {zws: function(value){ your code here}})
然后你可以在你的灰尘模板中调用它:
the variable is: {variable|zws}
希望这会有所帮助。