0
我有在Javascript一個陣列型:如何在DustJS中編寫案例條件表達式?
var type=[0,1,2,3,4,5];
對應密鑰值對集合實際上是這樣的;
[{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5,'Star'}]
我的.dust文件顯示{type}標記,應該如何顯示它們的相應值?
我有在Javascript一個陣列型:如何在DustJS中編寫案例條件表達式?
var type=[0,1,2,3,4,5];
對應密鑰值對集合實際上是這樣的;
[{0:'Pointer'},{1:'Line'},{2:'Oval'},{3:'Rectangle'},{4:'Ellipse'},{5,'Star'}]
我的.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 '';
}
更多的信息here