我一直在尝试使用角度过滤器获取角度常量内嵌套常量的值。但是我找不到获取值的有效方法。我被允许使用 lodash "^2.4.1" 并且我尝试使用 _.pick 但我仍然只能访问根级别的常量而不是嵌套的常量。
//consider this
angular.module('myApp',[])
.constants('appConstants', {
CONS1: 'root',
CONS2: {
NEST1: 'nested cons1',
NEST2: 'nested cons2',
}
)
.filter(getConstants, function () {
return function (input) {
var value = appConstants[input];
if (! value) {
var keys = input.split('.');
value = appConstants;
angular.forEach(keys, function(key, index) {
value = value[key];
});
}
return value;
}
});
//where as
appConstants[CONS1]; //works
appConstants[CONS2.NEST1]; // return undefined
//in lodash
_.pick(appConstants, 'CONS2.NEST1'); // returns empty object