我正在使用dust.js 来呈现变量名列表,这些变量名有时很长并且包含下划线,例如:
SUM_COUNT_LABOR_COUNTRIES_SMS_PAST
浏览器不使用下划线,因此它会变得丑陋。我希望我的灰尘模板在每个下划线后添加一个零宽度空格,以便浏览器可以包装它。这绝对属于模板层而不属于模型,但我不知道如何使用dust.js 正确实现这一点,否则它是非常好的将表示与逻辑分离的原则。
我要创建一个“帮助”功能吗?我在哪里放置辅助功能?如何从模板中调用它?
我正在使用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}
希望这可以帮助。