我使用dust.js 来呈现变量名称列表,这些名称有时很长并且包含下划线,例如:
SUM_COUNT_LABOR_COUNTRIES_SMS_PAST
浏览器不会用下划线换行,因此它会变得难看。我希望我的灰尘模板在每个下划线后添加一个零宽度的空格,以便浏览器可以将其换行。这绝对属于模板层而不是模型,但我不知道如何使用dust.js正确实现这一点,否则这是将表示与逻辑分离的非常好的原则。
我是否创建一个“助手”函数?我把辅助函数放在哪里?
如何从模板中调用它?
在灰尘中有很多方法可以解决这个问题。我认为您正在寻找的可能是定义一个灰尘过滤器。您可以扩展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); }
};
所以你要做的就是向其中添加另一个键值来过滤你的变量。例如如果您使用下划线:
_.extend(dust.filters, {zws: function(value){ your code here}})
然后你可以在你的灰尘模板中调用它,如下所示:
the variable is: {variable|zws}
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)