akb*_*ram 1 javascript dust.js
我正在使用dust.js来呈现有时长且包含下划线的变量名列表:
SUM_COUNT_LABOR_COUNTRIES_SMS_PAST
浏览器不会对下划线进行换行,因此它可能会变得难看.我希望我的灰尘模板在每个下划线后添加零宽度空间,以便浏览器可以包装它.这肯定属于模板层而不是模型,但我无法弄清楚如何使用dust.js正确实现这一点,而且它是将表示与逻辑分离的非常好的原则.
我是否创建了"帮手"功能?我在哪里放置辅助功能?我如何从模板中调用它?
asy*_*af9 10
灰尘有很多方法可以解决这个问题.我认为你正在寻找的可能是定义一个灰尘过滤器.你可以扩展dust.filters来添加你自己的过滤器.dust.filters在源代码中看起来像这样:
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); }
};
Run Code Online (Sandbox Code Playgroud)
所以你要做的是为它添加另一个过滤变量的键值.例如,如果你使用下划线:
_.extend(dust.filters, {zws: function(value){ your code here}})
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的灰尘模板中调用它,如下所示:
the variable is: {variable|zws}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
归档时间: |
|
查看次数: |
3234 次 |
最近记录: |