我在Javascript中有一个数组类型:
var type=[0,1,2,3,4,5];
相应的键值对集合实际上是这样的;
[{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5,'Star'}]
我的.dust文件显示{type}标记,我该如何显示其对应的值?
答案 0 :(得分:0)
您可以使用自定义过滤器。大致的实施将是:
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 '';
}
更多信息here