angularJs通過過濾器實現獲取資料字典
阿新 • • 發佈:2019-01-06
//快取資料字典
var dicMap = JSON.parse(dictData);
/**
* 獲取字典值的方法
* @param key 關鍵字
* @param type 大類
* @return 返回結果對像 success為true,則value為字典值
*/
arm.getDict = function(key, type)
{
var result = {};
result.success = false;
var dictValue;
if (dicMap[type] && dicMap[type][key])
{
dictValue = dicMap[type][key].label;
}
if (dictValue)
{
result.success = true;
result.value = dictValue;
}
return result;
};
// 登錄檔格字典值過濾器
arm.filter('Dict', function($rootScope , $http , $q)
{
return function(input , type)
{
var returnVal = input;
if (type)
{
var result = arm.getDict(input, type);
if (result.success)
{
returnVal = result.value;
}
}
return returnVal;
}
});
//註冊下拉框表格字典值
arm.filter('dictOption', function()
{
/**
* data 迴圈的列表
* key 對像的key屬性的屬性名
* name 對像的顯示屬性的屬性名
* type 字典大類
*/
return function(data , key , name , type)
{
if (data && type)
{
//迴圈對每個選項進行過濾,過濾的結題是按
angular.forEach(data, function(item , index)
{
//如果有這2個屬性
if (item[key] && item[name])
{
//如是取到字典值
var result = arm.getDict(item[key], type);
if (result.success)
{
item[name] = result.value;
}
}
});
}
return data;
}
});
var dicMap = JSON.parse(dictData);
/**
* 獲取字典值的方法
* @param key 關鍵字
* @param type 大類
* @return 返回結果對像 success為true,則value為字典值
*/
arm.getDict = function(key, type)
{
var result = {};
result.success = false;
var dictValue;
if (dicMap[type] && dicMap[type][key])
{
dictValue = dicMap[type][key].label;
}
if (dictValue)
{
result.success = true;
result.value = dictValue;
}
return result;
};
// 登錄檔格字典值過濾器
arm.filter('Dict', function($rootScope , $http , $q)
{
return function(input , type)
{
var returnVal = input;
if (type)
{
var result = arm.getDict(input, type);
if (result.success)
{
returnVal = result.value;
}
}
return returnVal;
}
});
//註冊下拉框表格字典值
arm.filter('dictOption', function()
{
/**
* data 迴圈的列表
* key 對像的key屬性的屬性名
* name 對像的顯示屬性的屬性名
* type 字典大類
*/
return function(data , key , name , type)
{
if (data && type)
{
//迴圈對每個選項進行過濾,過濾的結題是按
angular.forEach(data, function(item , index)
{
//如果有這2個屬性
if (item[key] && item[name])
{
//如是取到字典值
var result = arm.getDict(item[key], type);
if (result.success)
{
item[name] = result.value;
}
}
});
}
return data;
}
});