2012-06-14 2 views
1

Я использую dust.js для отображения списка имен переменных, которые иногда долго и содержат, как подчеркивает:Как реализовать настраиваемую логику визуализации в dust.js?

SUM_COUNT_LABOR_COUNTRIES_SMS_PAST

Браузер не завернуть на подчеркивании, поэтому он может получить уродливым. Я хотел бы, чтобы мой шаблон пыли добавлял пространство нулевой ширины после каждого подчеркивания, чтобы браузер мог его обернуть. Это определенно относится к шаблону, а не к модели, но я не могу понять, как правильно добиться этого с помощью dust.js, и в противном случае очень хороший принцип разделения представления от логики.

Создать «вспомогательную» функцию? Где я могу поставить вспомогательную функцию? Как мне это назвать из шаблона?

ответ

10

есть много способов в пыли, чтобы приблизиться к этому. я думаю, что вы ищете, вероятно, определить пылевой фильтр. вы можете расширить пылеуловители, чтобы добавить свой собственный фильтр. 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} 

надеюсь, что это помогает.

+0

Это здорово, помогло мне создать простой способ проверки длины массива – andrhamm

+0

Прекрасно работает! благодаря – akbertram

Смежные вопросы