gpt4 book ai didi

javascript - AngularJS 过滤器元编程

转载 作者:行者123 更新时间:2023-12-03 09:56:48 25 4
gpt4 key购买 nike

有没有办法在 Angular 中动态创建过滤器?下面我有简单的过滤器,仅返回对象数组的某些属性。

module.filter("firstAndLastName", function() {
return function(input) {
return input.map(function(obj) {
return obj.first_name + " " + obj.last_name
});
}
})

module.filter("gradYear", function() {
return function(input) {
return input.map(function(obj) {
return obj.grad_year
});
}
})

如果我想获取对象数组的“email_address”并注入(inject)。有没有办法在运行时动态创建它?

module.controller("someController", ["emailAddressFilter",
function(emailAddressFilter) {
// use emailAddressFilter
}
])

一个更一般的问题

我们如何动态创建 Angular 组件?

最佳答案

不要忘记,在 Javascript 中,一切都是在运行时创建的。

而不是这个:

module.filter("whatEverFilter", function() {
return function(input) {
return input.map(function(obj) {
return obj.first_name + " " + obj.last_name
});
}
});

您可以简单地执行以下操作:

module.filter("whatEverFilter", function() { 
//stringArray can be eg : ["first_name","last_name"]
return function(input, stringArray) {
return input.map(function(obj) {
var strReturn = obj[stringArray[0]]
for(var i=1; i<stringArray.length ;i++){
strReturn += " ";
strReturn += obj[stringArray[i]];
}
return strReturn;
});
}
})

关于javascript - AngularJS 过滤器元编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com