Javascript 如何在DustJS中编写case条件表达式?
我在Javascript中有一个数组类型:Javascript 如何在DustJS中编写case条件表达式?,javascript,node.js,dust.js,Javascript,Node.js,Dust.js,我在Javascript中有一个数组类型: var type=[0,1,2,3,4,5]; 对应的键值对集合实际上是这样的 [{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5,'Star'}] My.dust文件显示{type}标记,如何显示其相应的值?您可以使用自定义筛选器。大致的实施方式是: var mapping = { '0':'Pointer', '1':'Line',
var type=[0,1,2,3,4,5];
对应的键值对集合实际上是这样的
[{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5,'Star'}]
My.dust文件显示{type}标记,如何显示其相应的值?您可以使用自定义筛选器。大致的实施方式是:
var mapping = {
'0':'Pointer',
'1':'Line',
'2':'Oval',
'3':'Rectangle',
'4':'Ellipse',
'5':'Star'
};
dust.filters['typeFilter'] = function(value) {
return mapping[value] || '';
}
在您的模板中:{type | typeFilter}
将映射存储在对象中比存储在数组中要简单一些。对于您的阵列版本,它类似于:
var mapping = [{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5:'Star'}];
dust.filters['typeFilter'] = function(value) {
var typeId = parseInt(value);
for(var len = mapping.length - 1; len >=0; len--) {
if (mapping[len].hasOwnProperty(typeId)) {
return mapping[len][typeId];
}
}
return '';
}
再多了解一点