我一直在尝试使用角度滤镜获取角度常量内的嵌套常量的值。但是我找不到有效的方法来获取价值。我被允许使用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
最佳答案
您还可以选择使用Angular $parse
function。我认为,如果为它提供根常量对象作为上下文参数,这将起作用。
可能看起来像:
$parse(input)(appConstants)
关于javascript - 如何在angularjs中获取嵌套常量的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42277070/